2010-12-02 21 views
5

que estoy tratando presentadores de registro con Windsor utilizando el método basado en la convención, pero tratando de hacer esto en VB.NET, pero el problema es que no quiere compilar esta declaración:GetType en tipos genéricos

Dim type = GetType(AbstractPresenter(Of)) 

Estoy recibiendo: Demasiado pocos tipos de argumentos para AbstractPresenter (De TView, TPresenter)

Lo que no entiendo porque esta es una declaración válida de acuerdo con question. También se muestra válido en otros conversores de C# a VB.NET al convertir typeof (AbstractPresenter <>).

¿Alguna idea?

Respuesta

6

Hay dos argumentos de tipo, y hay que especificar esto, al igual que lo haría para matrices multidimensionales:

Dim type = GetType(AbstractPresenter(Of ,)) 

ve raro, pero ahora el compilador sabe que AbstractPresenter espera dos argumentos de tipo.

Por cierto, C# tiene el mismo requisito. Por lo tanto, lo anterior se escribirá como:

var type = typeof(AbstractPresenter<,>); 
+0

excelente, gracias por la sugerencia de C# también – adriaanp