使用Resharper,我提取了一个现有类的接口。这个类在一些成员上设置了一些属性,并且Resharper也将这些属性放在接口成员上。界面上的属性有什么用处?
我可以从界面中删除这些属性吗? 在实现接口权限时,接口上的属性不会被继承?
使用Resharper,我提取了一个现有类的接口。这个类在一些成员上设置了一些属性,并且Resharper也将这些属性放在接口成员上。界面上的属性有什么用处?
我可以从界面中删除这些属性吗? 在实现接口权限时,接口上的属性不会被继承?
他们没有被实施类使用 - 但仍然可能是关键。例如,WCF通过界面上的属性定义服务合同和操作合同。
如果他们没有使用你的情况,然后删除它们。否则,让他们一个人; -p
它们不是继承的,但取决于属性,你仍然可以做有趣的事情。例如,如果您使用entlib中的验证块,则可以使用接口上的属性对从其派生的所有类进行验证,而无需在类上重新输入验证规则。
我同意,当类属性自动复制到提取的接口时,这是相当恼人的。 TeamCity youTrack存在一个未解决的问题。有趣的是,它在7年前开放,只有3票(包括我自己)。
给予好评,如果你同意:
Extract interface moves class property attributes to the interface
这个问题被问过一次 - “不”,他们不是继承:http://stackoverflow.com/questions/540749/can-ac-class-继承属性从它的接口 – 2009-02-26 12:26:09