我目前正在研究一个 VB.Net 通用函数,它吃两个结构并返回一个结构,就像这样......
Public Function MyFunction (Of ThisType As {Structure, MyInterface}) _
(ByVal first_param As ThisType, _
ByVal second_param As ThisType, _
ByVal third_param As Object, _
ByVal fourth_param As Object) As ThisType
' Do works
End Function
但该函数将在运行时失败,除非third_parameter 和fourth_parameter 也是实现MyInterface 的结构。有没有办法将第三个和第四个参数限制为这种类型的结构(结构有很多可能性;太多而无法为每种可能性创建重载),以便在编译时出现错误?
(我尝试从基础结构派生所有结构,但我现在知道不能这样做。)我可以在使用它们之前检查类型,但这仍然是运行时检查。