接口上的属性有什么用途?

4
使用Resharper,我提取了一个已有类的接口。这个类的某些成员上设置了一些属性,Resharper也把这些属性放在了接口成员上。
那么,我能从接口中删除这些属性吗? 接口上的属性在实现接口时不会被继承,对吗?

这个问题之前已经被问过了 - “不”,它们不能被继承:https://dev59.com/-nRB5IYBdhLWcg3wtZMV - Paul Stovell
可能是重复的问题:一个C++类能否从其接口继承属性? - user1228
3个回答

8

这些属性可能并不被实现类所使用,但仍然可能非常重要。例如,WCF通过接口上的属性定义服务契约和操作契约。

如果在你的情况下这些属性没有用处,那么可以将它们删除。否则,请保留它们 ;-p


0

我同意当类属性自动复制到提取的接口时,这是相当令人恼火的。在TeamCity youTrack上有一个未解决的问题。有趣的是,它在7年前就被提出了,只有3个投票(包括我自己)。

如果您同意,请点赞:
提取接口将类属性特性移动到接口中


0

它们并没有被继承,但是根据属性的不同,你仍然可以做一些有趣的事情。例如,如果你正在使用entlib中的验证块,你可以使用接口上的属性对所有派生类进行验证,而无需在类上重新输入验证规则。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接