泛型类型的GetType

时间:2010-12-02 10:08:34

标签: vb.net generics

我正在尝试使用基于约定的方法向Windsor注册演示者,但尝试在VB.NET中执行此操作,但问题是它不想编译此语句:

Dim type = GetType(AbstractPresenter(Of))

我得到:AbstractPresenter(Of TView,TPresenter)的类型参数太少

我不理解,因为根据question这是一个有效的陈述。转换typeof(AbstractPresenter<>)时,在其他C#到VB.NET转换器中也显示有效。

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

有两个类型参数,您需要指定它,就像对多维数组一样:

Dim type = GetType(AbstractPresenter(Of ,))

看起来很奇怪,但现在编译器知道AbstractPresenter需要两个类型参数。

顺便说一句,C#具有相同的要求。所以上面的内容将写成:

var type = typeof(AbstractPresenter<,>);