从基类共享函数访问派生类

时间:2017-08-14 15:09:33

标签: vb.net

我想重写这个函数以避免需要泛型参数,因为它应该可以通过其他方式获得,因为这个函数将被调用的冗余(T应该始终引用函数所在的类)叫):

Public Shared Function FMXSize(Of T As {New, FileStructure})() As Integer
  Dim result As Integer
  If SizeCache.TryGetValue(GetType(T), result) Then Return result
  result = (New T()).CalculateSize()
  SizeCache(GetType(T)) = result
  Return result
End Function

使用当前实现将这样调用(注意:LibCtl继承自FileStructure):

Return LibCtl.FMXSize(Of LibCtl)()

或者像这样理想的实现(因为上面看起来多余):

Return LibCtl.FMXSize()

0 个答案:

没有答案