在VB.NET中,我可以这样做:
Interface X
<SomeAttrib> _
SomeProp as String
End Interface
会强制任何实现X的类也在SomeProp上应用SomeAttrib,否则会导致编译(或运行)时错误。
Class XBox
Implements X
Public SomeProp as String Implements X.SomeProp
...
End Property
End Interface
上述情况应该会出错,因为SomeProp
不适用SomeAttrib
。
答案 0 :(得分:2)
不,属性不是接口强制执行的签名的一部分。
如果这是一个自定义属性,您可能想要查找它,检查该类型是否实现了接口并从那里获取属性。
或者您总是可以编写单元测试来验证所有实现,如果它们在您的控制之下 - 在编译时检查和正常执行时间检查之间......