我目前正试图在c#中实现标记接口。但是我迄今还没有这样做,所以我想请你咨询一下。c中的标记接口#
短我的问题:
我有一个接口工厂,并且工厂包含几个子接口应该是标记接口,因为他们没有一个属性或方法什么的。所以标记接口应该实现接口工厂。我的标记界面例如用于汽车,卡车等。并且标记界面被实现用于MyBMW,MyAUDI等的汽车。我如何实现这样的模式?谢谢!
interface Factory
{
string[] process (string [] entry);
}
我目前正试图在c#中实现标记接口。但是我迄今还没有这样做,所以我想请你咨询一下。c中的标记接口#
短我的问题:
我有一个接口工厂,并且工厂包含几个子接口应该是标记接口,因为他们没有一个属性或方法什么的。所以标记接口应该实现接口工厂。我的标记界面例如用于汽车,卡车等。并且标记界面被实现用于MyBMW,MyAUDI等的汽车。我如何实现这样的模式?谢谢!
interface Factory
{
string[] process (string [] entry);
}
你应该考虑使用,而不是接口的属性标记类。
然后,您可以在代码中决定如何设置特性时处理特定实例。
我仍然喜欢接口。属性有自己的位置,但标记界面“感觉”更好。 – 2012-04-04 15:22:37
应用于类的属性通常不会影响任何派生类(对于检查类中某个属性的代码,也可以检查父类的属性)。相比之下,如果一个类实现了一个标记接口,那么所有的派生类也会这样做。如果你想强制派生类来宣传一个特性,使用标记接口。如果想让派生类决定是否宣传特性,请使用属性。 – supercat 2012-04-04 16:08:00
我相信你想要实现工厂模式。我建议你在这里看一个例子: http://en.wikipedia.org/wiki/Factory_method_pattern
你还没有发布标记界面。它有一个方法。一个标记接口有**没有实现。 – Oded 2012-04-04 08:59:07
我认为,而不是决定解决方案并询问如何解决问题,如果出现问题,我们可以提供更好的帮助,并且我们可以看到标记界面是否有用。 – Aliostad 2012-04-04 08:59:35
是的,但汽车,卡车和公共汽车应该使用接口工厂,但汽车,卡车和公共汽车没有任何方法,因为MyBMW和MyAUDI应该实现标记接口汽车,并且他们有必要的方法。 – senna 2012-04-04 09:14:18