3

В настоящее время я пытаюсь реализовать интерфейс маркера в C#. Но я до сих пор этого не делал, поэтому я бы хотел попросить вас совета.Интерфейс маркера в C#

Краткая информация о моей проблеме:
У меня есть интерфейс Factory, и завод содержит несколько дополнительных интерфейсов, которые должны быть интерфейсом маркеров, потому что у них нет свойства или метода или чего-то еще. Поэтому интерфейс маркера должен реализовывать интерфейсную фабрику. И мой интерфейс маркера, например, для автомобилей, грузовиков и т. Д. И интерфейс маркера реализован для автомобилей для MyBMW, MyAUDI и т. Д. Как я могу реализовать такой шаблон? Благодаря!

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

Вы не разместили интерфейс маркера. У него есть метод. Интерфейс маркера имеет ** ничего ** для реализации. – Oded

+0

Я думаю, вместо того, чтобы решать вопрос и спрашивать, как, мы можем лучше помочь, если вы представите проблему, и мы видим, что интерфейс маркера полезен вообще. – Aliostad

+0

Да, но автомобиль, грузовики и автобус должны использовать интерфейс Factory, но у автомобиля, грузовика и автобуса нет никаких методов, потому что MyBMW и MyAUDI должны реализовать интерфейс маркерного интерфейса, и у них есть необходимые методы. – senna

ответ

1

Вы должны подумать об использовании атрибутов вместо интерфейса для маркировки классов.

то вы можете решить в своем коде, как обращаться с конкретными экземплярами, когда атрибут установлен.

+1

Я по-прежнему предпочитаю интерфейсы. Атрибуты имеют свое место, но интерфейсы маркеров «чувствуют» себя лучше. –

+2

Атрибут, применяемый к классу, обычно не влияет на любые производные классы (возможно, для кода, который проверял бы атрибут в классе, для проверки атрибута для родительских классов). Напротив, если класс реализует интерфейс маркера, все производные классы будут делать это также. Если кто-то хочет заставить производные классы рекламировать характеристику, используйте интерфейс маркера. Если кто-то хочет разрешить производному классу решать, следует ли рекламировать признак, используйте атрибуты. – supercat

Смежные вопросы