Здравствуйте, drVanо, Вы писали:
Тут два варианта с боксингом унбоксингом и без него
public void Move(int a, int b)
{
// MoveObject(ref this, a, b);
object obj = this;
MoveObject(ref obj, a, b);
this= (Point)obj;
Console.WriteLine("point from this: {0}.{1}", x, y);
}
static void MoveObject(ref object obj, int a, int b)
{
var p = (Point)obj;
p.x += a;
p.y += b;
obj = p;
Console.WriteLine("point from object: {0}.{1}", p.x, p.y);
}
static void MoveObject(ref Point p, int a, int b)
{
p.x += a;
p.y += b;
Console.WriteLine("point from object: {0}.{1}", p.x, p.y);
}