【发布时间】:2011-07-28 14:27:55
【问题描述】:
当我想要一个从类扩展的通用对象时,我曾经在 Java 中这样写:
Class<AuthenticationProvider> c1;
我应该用 C# 写什么来做同样的事情?如何以这种格式转换类型类对象(从身份验证提供程序扩展的通用类)?
【问题讨论】:
标签: c# java class generics inheritance
当我想要一个从类扩展的通用对象时,我曾经在 Java 中这样写:
Class<AuthenticationProvider> c1;
我应该用 C# 写什么来做同样的事情?如何以这种格式转换类型类对象(从身份验证提供程序扩展的通用类)?
【问题讨论】:
标签: c# java class generics inheritance
你的意思是Type.MakeGenericType?
哎呀,我明白你的意思了。不,您不能在 C# 中执行此操作,因为 System.Type 不是泛型类型!它包含关于一个类型的信息,但没有什么通用的,所以typeof(Foo) 不会给你Type<Foo>。
不过,我也不明白你为什么需要它。
【讨论】:
Type 不是通用的。这样做的原因是什么?也许我们可以为您面临的问题提供更好的解决方案。
typeof(Foo)?