私は、リフレクションによってのみ別のクラスとやり取りするクラスを持っています。私がやりとりしているこのクラスにはいくつかの代議員がいて、それらを設定しようとしています。相続人は、彼らがどのように見えるか:ここクラスメンバを関数に設定する
public class ClassThatIAmReflecting {
public delegate void OnSuccessDelegate(bool value);
public static OnSuccessDelegate OnSuccess;
public void OnClassThatIAmReflectingSuccess(bool arg) {
if(OnSuccess != null)
OnSuccess(arg);
}
}
そして、私がしようとしているものです:
はpublic class MyClass {
void Init() {
Type type = Type.GetType("ClassThatIAmReflecting");
FieldInfo fieldInfo = type.GetField("OnSuccess", BindingFlags.Public | BindingFlags.Static);
fieldInfo.SetValue(null, HandleOnSuccess);
}
void HandleOnSuccess(bool value) {
// do stuff ...
}
}
私は取得していますエラーは、オブジェクトにアクションを変換することができないということです。どのように私はこれを行うことができますか?
ONSUCCESSは何ですか?他のクラスのコードを表示してください –
OnSuccessは、C++のDLLから呼び出されている関数を介して呼び出されています。 ClassThatIAmReflectingクラスは、C#クラスとC++ dllの間にあるブリッジです。 – Steph