2012-04-04 68 views
3

我目前正试图在c#中实现标记接口。但是我迄今还没有这样做,所以我想请你咨询一下。c中的标记接口#

短我的问题:
我有一个接口工厂,并且工厂包含几个子接口应该是标记接口,因为他们没有一个属性或方法什么的。所以标记接口应该实现接口工厂。我的标记界面例如用于汽车,卡车等。并且标记界面被实现用于MyBMW,MyAUDI等的汽车。我如何实现这样的模式?谢谢!

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

你还没有发布标记界面。它有一个方法。一个标记接口有**没有实现。 – Oded 2012-04-04 08:59:07

+0

我认为,而不是决定解决方案并询问如何解决问题,如果出现问题,我们可以提供更好的帮助,并且我们可以看到标记界面是否有用。 – Aliostad 2012-04-04 08:59:35

+0

是的,但汽车,卡车和公共汽车应该使用接口工厂,但汽车,卡车和公共汽车没有任何方法,因为MyBMW和MyAUDI应该实现标记接口汽车,并且他们有必要的方法。 – senna 2012-04-04 09:14:18

回答

1

你应该考虑使用,而不是接口的属性标记类。

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

+1

我仍然喜欢接口。属性有自己的位置,但标记界面“感觉”更好。 – 2012-04-04 15:22:37

+2

应用于类的属性通常不会影响任何派生类(对于检查类中某个属性的代码,也可以检查父类的属性)。相比之下,如果一个类实现了一个标记接口,那么所有的派生类也会这样做。如果你想强制派生类来宣传一个特性,使用标记接口。如果想让派生类决定是否宣传特性,请使用属性。 – supercat 2012-04-04 16:08:00