一致的属性放置 - 接口,类或两者?

时间:2013-06-17 12:32:56

标签: c# interface coding-style attributes

我注意到最近一直在困扰我,当我进入一个项目时,我总是最终得到一些属性来装饰界面中的方法声明但是 a不同的装饰方法实现。

最新的实例是我正在使用的WCF,在那里,我只会有一个实现类。仍然有一些属性填充了界面,而其他属性则填充了该类。这被认为是不好的编码风格吗?

更具体地说 - 在使用WCF时,是否可以将所有属性移动到实现类定义中?

1 个答案:

答案 0 :(得分:2)

  

特定于WCF:

您不能将所有属性单独移动到实现类,因为WCF Contract是由接口定义的,它是暴露给WCF客户端的接口,用于发现WCF服务和元数据。

此外,{。1}}由.Net运行时使用反射使用,它们用于发现元数据并将其应用于Attributesinterface等各种AttributeTargets

所以,我认为在两个接口和类中使用class都没关系,如果Attributes 要求依赖于它们的目标,那么这种做法并不算错误使用。