0

在 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

以上应该给出错误,因为SomePropdoesn't apply SomeAttrib

4

1 回答 1

2

不,属性不是接口强制执行的签名的一部分。

如果这是一个自定义属性,您可能希望检查该类型是否实现接口并从那里获取属性。

或者,您总是可以编写一个单元测试来验证所有实现,如果它们在您的控制之下 - 介于编译时检查和正常执行时检查之间......

于 2013-03-13T08:01:45.583 回答