我在可变类型的类属性上有一个私有设置器,我使用 myMutableVariable
.
但是,当我更改某些内容时myMutableVariableafter
Class.Property = myMutableVariable
,两者之间存在差异myMutableVariableand
Class.Property
。
例如,Changin 是 - 将 myVariable 设置为 null。
该属性仍然private
- 不会改变。即使对于同一私有财产中的列表及其成员也是如此。
这是如何运作的?
public class Class1
{
public Class1(string name)
{
this._name = name;
}
private string _name = "";
public string Name { get { return _name; } set { _name = value; } }
}
public class Class2
{
public Class2(Class1 c1)
{
this._c1 = c1;
}
private Class1 _c1;
public Class1 C1 { get { return _c1; } }
}
考试:
static void Main(string[] args)
{
Class1 myMutableVariable = new Class1("c1name");
Class2 c2 = new Class2(myMutableVariable);
myMutableVariable = null;
Console.WriteLine(c2.C1.Name);
//c2.C1 remains 'c1name'
}