C# c语言中的标记接口#

C# c语言中的标记接口#,c#,design-patterns,interface,attributes,marker-interfaces,C#,Design Patterns,Interface,Attributes,Marker Interfaces,我目前正试图在c#中实现一个标记接口。但到目前为止我还没有这样做,所以我想征求你的意见 缩短我的问题: 我有一个接口工厂,工厂包含几个子接口,这些子接口应该是标记接口,因为它们没有属性、方法或其他东西。因此标记接口应该实现接口工厂。我的marker接口用于汽车、卡车等,marker接口用于宝马、奥迪等车型。我如何实现这种模式?谢谢 interface Factory { string[] process (string [] entry); } 您应该考虑使用属性而不是接口来标记类 然

我目前正试图在c#中实现一个标记接口。但到目前为止我还没有这样做,所以我想征求你的意见

缩短我的问题:
我有一个接口工厂,工厂包含几个子接口,这些子接口应该是标记接口,因为它们没有属性、方法或其他东西。因此标记接口应该实现接口工厂。我的marker接口用于汽车、卡车等,marker接口用于宝马、奥迪等车型。我如何实现这种模式?谢谢

interface Factory
{
    string[] process (string [] entry);
}

您应该考虑使用属性而不是接口来标记类


然后,您可以在代码中决定如何在设置属性时处理特定实例。

我相信您希望实现工厂模式。我建议您在这里看一个例子:

您尚未发布标记界面。它有一个方法。marker接口无需实现。我认为,与其决定解决方案并询问如何解决,不如提出问题,看看marker接口是否有用。是的,但Car、Trucks和Bus应该使用接口工厂,但Car、Trucks和Bus没有任何方法,因为MyBMW,而且我的奥迪应该实现marker接口车,他们包括了必要的方法。我仍然更喜欢接口。属性有其位置,但标记接口“感觉”更好。应用于类的属性通常不会影响任何派生类(检查类中属性的代码也可以检查父类的属性)。相反,如果一个类实现了一个标记接口,那么所有派生类也会实现。如果要强制派生类公布特性,请使用标记接口。如果希望允许派生类决定是否公布特性,请使用属性。