gpt4 book ai didi

c# - 在 C# 中存储引用

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

我正在尝试设计一个类,它可以在销毁时更新对对象(类外)的引用。

所以基本上你创建了这个对象的一个​​实例并传递给它一个引用类型(以任何方式,构造函数等)然后在对象被破坏时原始引用已更改为由对象创建的引用。

如果我通过引用传递引用(比如在构造中),我想不出一种方法来存储此引用(作为引用)以供析构函数更新它?例如(伪):

class Updater
{
object privateReference;
public Updater(ref object externalReference)
{
privateReference = externalReference; //is privateReference now a new reference to the original object?
}

~Updater()
{
privateReference = new object(); //therefore this isn't 'repointing' the externalReference
}
}

这里的关键是我不是要改变这个类中的原始“外部”对象,我是要“重新指向”它,或者根据需要初始化它。

最佳答案

基本上,您不能这样做。 ref 仅适用于方法本身,有效。

完全不清楚您要将其用于什么目的 - 您能否向我们提供更多信息,以便我们提出替代设计建议?老实说,任何依赖终结器的东西一开始都很麻烦......

关于c# - 在 C# 中存储引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866400/

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