在.NET C#中是否可以在运行时更改对象的所有者?
例如:
class abc {
MyClass ClassInstance = new MyClass();
AnotherClass AnotherClassInstance = new AnotherClass();
// Some how set the owner of "AnotherClassInstance" to "ClassInstance"
}
谢谢!
答案 0 :(得分:4)
更改实例的所有者是什么意思? .NET对象没有所有者,所以它真的不清楚你想要什么。
如果您的意思是希望AnotherClass
类始终在类逻辑中将MyClass
视为其“所有者”,那么只需将构造函数添加到AnotherClass
即可。将MyClass
作为参数并保留此参考。
像这样:
public class AnotherClass
{
MyClass owner = null;
public AnotherClass(MyClass owner)
{
this.owner = owner;
}
}