属性的一致放置——接口、类或两者都有
本文关键字:两者都 接口 属性 | 更新日期: 2023-09-27 18:18:54
我注意到最近一直困扰着我,当我进入一个项目时,我总是以一堆属性结束,这些属性装饰了接口中的方法声明,但也一组不同的装饰方法实现。
最新的实例是我正在使用的WCF,在那里,我只会有一个实现类。尽管如此,一些属性填充接口,而另一些属性填充类。这是糟糕的编码风格吗?
更具体地说-当使用WCF时,可以/应该将所有属性移动到实现类定义中吗?
特定于WCF:
您不能单独将所有属性移动到implementation类,因为WCF Contract
是由接口定义的,并且它是暴露给用于发现WCF服务和元数据的WCF客户端的接口。
此外,Attributes
被。net运行时使用反射,它们被用来发现和应用元数据到各种AttributeTargets
,包括interface
, class
等。
所以,我认为在接口和类中使用Attributes
是可以的,并且不认为.Net runtime
要求取决于使用它们的目标。