有没有办法强制 this 关键字充当 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();
}
最佳答案
因为您实际上并没有更改receiver
所指的内容,所以不需要ref
关键字。但是,如果是这种情况,您将无法使 this
引用另一个实例。
为了将 this
作为 ref
参数传递,您需要这样写:
Visit(ref this);
该代码将无法编译:“无法将‘
关于c# - 将 ref 参数与 this 关键字一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647030/