我有一些麻煩,營造合適的委託爲這個實例方法:創建一個委託時,參數的確切類型是未知
public T AddComponent<T>() where T : Component
{
....
}
我使用反射來獲取特定的MethodInfo和Delegate.CreateDelegate我得到一個錯誤綁定到目標方法
private delegate T AddComponent<out T>();
private static AddComponent<Component> AddC { get; set; }
public void Test()
{
var go = new GameObject();
var targetAddComponent =
typeof (GameObject).GetMethods().First(m => m.Name == "AddComponent" && m.GetParameters().Length == 0);
AddC = (AddComponent<Component>) Delegate.CreateDelegate(typeof (AddComponent<Component>), go, targetAddComponent, true);
....
}
你有什麼我做錯了什麼線索?
令人難以置信的是,您已經將方法和委託命名爲相同的東西。 –