gpt4 book ai didi

c# - 将 ref 参数与 this 关键字一起使用?

转载 作者:太空狗 更新时间:2023-10-29 22:07:41 25 4
gpt4 key购买 nike

有没有办法强制 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);

该代码将无法编译:“无法将‘ ’作为 ref 或 out 参数传递,因为它是只读的”

关于c# - 将 ref 参数与 this 关键字一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com