gre*_*fly 5 c# ref this-pointer
有没有办法强制this关键字作为ref参数?我想传入一个修改对象上的多个属性的访问者,但这只是想要像值参数一样.
对象代码:
public void Accept(Visitor<MyObject> visitor)
{
visitor.Visit(this);
}
Run Code Online (Sandbox Code Playgroud)
访客代码:
public void Visit(ref Visitor<MyObject> receiver)
{
receiver.Property = new PropertyValue();
receiver.Property2 = new PropertyValue();
}
Run Code Online (Sandbox Code Playgroud)
Fre*_*örk 10
由于您实际上并未更改receiver引用的内容,因此不需要ref关键字.但是,如果情况确实如此,那么您将无法this引用另一个实例.
要this作为ref参数传递,您需要像这样写:
Visit(ref this);
Run Code Online (Sandbox Code Playgroud)
该代码将无法编译:"无法将'<this>'作为ref或out参数传递,因为它是只读的"
| 归档时间: |
|
| 查看次数: |
6699 次 |
| 最近记录: |