【发布时间】:2013-05-14 04:53:11
【问题描述】:
假设您有一个名为 Car 的类。现在通常,如果你想设置 Car 的一个实例等于另一个实例,你会这样做:
Car car1 = new Car();
Car car2 = new Car();
car1 = car2;
现在,如果你想要一个方法来做到这一点呢?
Car
{
public void SetEqualToReference(Car reference)
{
this = reference;
}
}
然后你会这样做
car1.SetEqualToReference(car2);
car1 将等于 car2。 但如你所知,这是行不通的。有没有办法做类似的事情?
【问题讨论】:
-
将一个 instance 设置为等于另一个的概念根本不存在。在您的第一个代码 sn-p 中,您使一个 variable 与另一个 variable 具有相同的值。这对实例根本没有任何作用。
-
否;那是彻底的,完全不可能的。几乎。 blog.slaks.net/2010/12/when-can-you-write-ref-this.html
-
@JonSkeet:值类型除外。
-
你的目标是什么?为什么 car1 = car2 不适合你?
-
正如其他人所说,您不能分配给
this。SetEqualToReference(ref Car reference) { reference = this; }怎么样?
标签: c# winforms visual-studio-2010