別のオブジェクトが作成されたオブジェクト(またはオブジェクトタイプ)を取得する方法を探しています。例:
public class RootClass
{
public class A
{
public void MethodFromA()
{
}
}
public class B
{
public A A_object = new A();
public void MethodFromB() { }
}
B BObject = new B();
A rootAObject = new A();
public void DoMethod(A anA_object)
{
}
main()
{
/* Somehow through reflection
* get the instance of BObject
* of type B from only the info
* given in anA_object or at
* the very least just know that
* anA_object was created in
* class B and not root. */
DoMethod(BObject.A_object);
/* Same as above except know that
* this A object came from root
* and is not from B class */
DoMethod(rootAObject);
}
}
追加情報: これは、私が持っている大規模なプロジェクトの一部をシミュレートするための簡単なコードです。問題は、他のさまざまなクラスの多くの場所でインスタンス化されたカスタム クラスがあることです。このカスタム クラスには、そのクラス内の任意の関数、またはそれをインスタンス化したクラス内の任意の関数を呼び出すことができる関数があります。非常に一般的な処理ですが、必要です。基本的に、「。」の逆が必要です。したがって、objectA.objectB では、objectB を関数に渡すだけで objectA を見つける必要があります。
ありがとう!