自定义的接口或实现它们的类属性?
-
22-07-2019 - |
题
当使用自定义属性来存储元数据,是它最好装饰接口,或实现接口,假设类实现接口将具有在属性相同的数据的任何类
<强>更新强>基本上我正在写为一个项目的自定义数据存储机构,以及所述对象表示正在存储的各种表。自定义属性被用来指示用哪个表中数据集用于存储类的对象,并且还识别哪个表都参与正:M关系
所以,如果我把属性的界面上,这是一个更清晰的方法,或者它弄乱接口和使访问数据本身更麻烦?
解决方案
这取决于场景。 WCF,例如,装饰接口,用于操作合同。
不过,如果你要谈论的对象的(而不是接口本身),请注意,它可以是痛苦的调用代码来获取接口的元数据的保持,特别是如果类使用显式接口实现。
这将是更共同装饰类,但这不是;-p
相当同样的问题如果该属性确实是特定的接口(不是实例),再细 - 装饰接口和谈论typeof(IFoo)
等,但如果你希望代码能够按类型来设置对于属性的值,它必须是在类级别。
什么是情景?
其他提示
那么它取决于接口是否有任何与元数据。
interface IRunnable
{
void Run();
}
class Test : IRunnable
{
public void Run() { }
}
在这个例子中,将是有意义的把属性界面上,如果他们涉及到接口的意图。如果属性是适用于所有实施方案中然后把界面上的属性。
然而,如果属性无关与“流动性”(与“流动性”有关IRunnable
不是CLR)类的然后把属性上的类。
不隶属于 StackOverflow