我正在尝试使用基于约定的方法向Windsor注册演示者,但尝试在VB.NET中执行此操作,但问题是它不想编译此语句:
Dim type = GetType(AbstractPresenter(Of))
我得到:AbstractPresenter(Of TView,TPresenter)的类型参数太少
我不理解,因为根据question这是一个有效的陈述。转换typeof(AbstractPresenter<>)时,在其他C#到VB.NET转换器中也显示有效。
有什么想法吗?
答案 0 :(得分:7)
有两个类型参数,您需要指定它,就像对多维数组一样:
Dim type = GetType(AbstractPresenter(Of ,))
看起来很奇怪,但现在编译器知道AbstractPresenter
需要两个类型参数。
顺便说一句,C#具有相同的要求。所以上面的内容将写成:
var type = typeof(AbstractPresenter<,>);