当使用自定义属性来存储元数据,是它最好装饰接口,或实现接口,假设类实现接口将具有在属性相同的数据的任何类

<强>更新基本上我正在写为一个项目的自定义数据存储机构,以及所述对象表示正在存储的各种表。自定义属性被用来指示用哪个表中数据集用于存储类的对象,并且还识别哪个表都参与正:M关系

所以,如果我把属性的界面上,这是一个更清晰的方法,或者它弄乱接口和使访问数据本身更麻烦?

有帮助吗?

解决方案

这取决于场景。 WCF,例如,装饰接口,用于操作合同。

不过,如果你要谈论的对象的(而不是接口本身),请注意,它可以是痛苦的调用代码来获取接口的元数据的保持,特别是如果类使用显式接口实现。

这将是更共同装饰类,但这不是;-p

相当同样的问题

如果该属性确实是特定的接口(不是实例),再细 - 装饰接口和谈论typeof(IFoo)等,但如果你希望代码能够按类型来设置对于属性的值,它必须是在类级别。

什么是情景?

其他提示

那么它取决于接口是否有任何与元数据。

interface IRunnable
{
    void Run();
}

class Test : IRunnable
{
    public void Run() { }
}

在这个例子中,将是有意义的把属性界面上,如果他们涉及到接口的意图。如果属性是适用于所有实施方案中然后把界面上的属性。

然而,如果属性无关与“流动性”(与“流动性”有关IRunnable不是CLR)类的然后把属性上的类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top