当参数的确切类型未知时创建委托

时间:2016-02-05 23:17:37

标签: c# generics delegates covariance

我为这个实例方法创建正确的委托有一些麻烦:

#circle {
    background: skin-tone.jpg;
    background-size: cover;
    border-radius:50% 50% 50% 50%;
    width:100px;
    height:100px;
}

我使用反射来获取特定的MethodInfo,并且在Delegate.CreateDelegate上我得到一个绑定到目标方法的错误

public T AddComponent<T>() where T : Component
{
      ....
}

你对我做错了什么有任何线索吗?

1 个答案:

答案 0 :(得分:2)

方法info是方法GameObject.AddComponent<T>的方法信息,它返回T.委托,你有一个令人难以置信的混淆命名方法,必须是一个返回Component的方法。你做了什么导致T等于组件?什么都没有。

换句话说:方法信息是一种方法信息,在构造之前,它实际上不是可调用的方法。它是制作方法的通用模式,而不是方法。如果您想要委托它,请将其设为方法。您需要在方法中为类型参数T提供类型参数。