.net – 将扩展方法应用于泛型类的泛型类

前端之家收集整理的这篇文章主要介绍了.net – 将扩展方法应用于泛型类的泛型类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在vb.net中使用泛型类.
并且似乎扩展方法不能应用于通用类而不指定类型.

我有这个泛型类

  1. Public Class MyGeneric(Of T)
  2. 'Methods and properties go here
  3. '
  4. '
  5. End Class

还行吧

  1. <Extension()> _
  2. Public Sub DoSomething(ByVal myGenericDoubleObj As MyGen(Of Double))
  3.  
  4. End Sub

这是不好的(IDE给我错误T没有定义.)

  1. <Extension()> _
  2. Public Sub DoSomethingGeneric(ByVal myGenericObj As MyGen(Of T))
  3.  
  4. End Sub

这与net的静态检查有关.
说我“你可以尝试用T类做的事情可能不兼容,我不会允许你这样做.”

附:所有这一切,我作为泛型的痛苦来自另一个图书馆,并在许多不同的地方使用.我很遗憾在我的继承的泛型类中继承和添加这个方法.

如果你的扩展方法是一个通用的方法,它应该工作

即DoSomething(Of T)()只显示DoSomething()

  1. <Extension()> _
  2. Public Sub DoSomething(Of T)(ByVal myGenericObj As MyGeneric(Of T))
  3. End Sub

希望这可以帮助

猜你在找的VB相关文章