有没有办法强制这个关键字充当ref参数?我想传入一个修改对象上多个属性的访问者,但这只是想像一个值参数。使用ref关键字参数?
守则对象:
public void Accept(Visitor<MyObject> visitor)
{
visitor.Visit(this);
}
代码在参观者:
public void Visit(ref Visitor<MyObject> receiver)
{
receiver.Property = new PropertyValue();
receiver.Property2 = new PropertyValue();
}
是的,你完全正确。但我希望原始课程保留访问者所做的更改。如果我没有通过参考,那么我是不是只会修改的*副本*的属性? –
grefly
2010-04-15 16:25:32
@grefly:如果“this”是一个类,则不会。假设你不“访问”自定义结构(值类型),ref不是必需的。 – 2010-04-15 16:28:40
谢谢,你完全正确! – grefly 2010-04-15 16:30:20