|
> ClassBの使用方法としては、メソッドの引数に参照渡しで値をもらってくるクラスになります。
>
> ClassB b = null;
> Method1(ref b);
>
> さらに質問になってしまいますが、
> ClassBのようなクラスをDLLから動的に扱う方法があれば教えていただけないでしょうか。
> 呼び出し側はClassBの型はわからない状態です。
outじゃなくてrefなんですか…nullを渡せばいいのであれば別にいいですけど。
一般的には次のような感じになるんじゃないでしょうか。out/refだとdynamicはたぶん無力ですね。
// dll
class A {
public void GetB(ref B b) {
b = new B();
}
}
class B {
internal B() { }
}
// 呼び出し側
object a = Activator.CreateInstance(typeA);
MethodInfo method = typeA.GetMethod("GetB"); // オーバーロードがあると面倒
object[] param = new object[] { null };
method.Invoke(a, param);
object b = param[0];
|