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