2011-01-01 17 views
0

.NET C#では実行時にオブジェクトの所有者を変更できますか?例えば.NETランタイムにクラス(オブジェクト)のインスタンスの所有者を変更する

class abc { 
    MyClass ClassInstance = new MyClass(); 
    AnotherClass AnotherClassInstance = new AnotherClass(); 
    // Some how set the owner of "AnotherClassInstance" to "ClassInstance" 
} 

ありがとう!

+0

あなたは、「クラスのインスタンスへの属性またはオブジェクトを追加」により、正確に何を意味するのですか?クラスのインスタンスは定義によってオブジェクトなので、正確には何を参照していますか? – Mehrdad

+0

もう1つの方法は、クラスのインスタンスの親を設定する方法です。 – Jamie

+0

残念ながら、これはまだ混乱しています。 A *クラス*には親(それが継承したもの)がありますが、クラスまたはインスタンスのインスタンスには*所有者*(オブジェクトへの参照を保持しています)があります...わかりません「クラスのインスタンスの親」とはどういう意味ですか? – Mehrdad

答えて

4

は、インスタンスのオーナーを変更しますか? .NETオブジェクトにはの所有者が含まれていないので、あなたが望むものは本当に明確ではありません。

あなたは、単にパラメータとしてMyClassを取ることになるAnotherClassにコンストラクタを追加し、これを維持します、AnotherClassクラスは常にクラスのロジックでの「所有者」とみなされMyClassを持つようにしたい意図した場合参照。このよう

public class AnotherClass 
{ 
    MyClass owner = null; 

    public AnotherClass(MyClass owner) 
    { 
     this.owner = owner; 
    } 
} 
関連する問題