How to check that type is inherited from some interface c#

Это зависит от Ваших требований. Если бы IPet достаточно прост, я предпочел бы реализовывать это. Иначе, если PetBase реализует тонну функциональности, Вы не хотите копировать, затем имеете в нем.

оборотная сторона к реализации базового класса является требованием к override (или new) существующие методы. Это делает их виртуальными методами, что означает, что необходимо быть осторожны относительно того, как Вы используете экземпляр объекта.

Наконец, единичное наследование.NET уничтожает меня. Наивный пример: Скажите создание пользовательского элемента управления таким образом, Вы наследовались UserControl. Но, теперь Вы заблокированы из также наследования PetBase. Это вынуждает Вас реорганизовать, например, для создания PetBase участник класса, вместо этого.

26
задан BoltClock 2 December 2010 в 12:02
поделиться