调用类型参数的方法

2024-03-29

有没有办法做这样的代码:

class GenericClass<T>
{
    void functionA()
    {
        T.A();
    }
}

或者,如何调用类型参数的函数(类型是我的自定义类)。


Re:

T.A();

如果这就是您的意思,您不能调用类型参数的静态方法。您最好将其重构为实例方法T,也许有一个通用约束(where T : SomeTypeOrInterface, with SomeTypeOrInterface定义A())。另一种选择是dynamic,这允许鸭子类型化instance方法(通过签名)。

如果你的意思是T仅在运行时才知道(作为Type),那么你需要:

typeof(GenericClass<>).MakeGenericType(type).GetMethod(...).Invoke(...);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用类型参数的方法 的相关文章

随机推荐