Итак, я хочу сделать это, чтобы любой подкласс, который я делаю из базового класса, реализует статическую функцию void initiaze () . Я хотел сделать это, чтобы я мог назвать все эти функции, не добавляя вручную для каждого класса. Что -то подобное < /p>
foreach(class in classList)
{
class.Initialize();
}
< /code>
Я искал способы сделать это, я видел System.reflection как потенциальный способ сделать это, но мне было интересно, был ли лучший вариант. Это то, что, казалось, думали некоторые люди, с которыми я разговаривал, но они не могли объяснить, какой этот вариант был < /p>
, поэтому я сделал рабочую версию с System.reflection, которая действительно функционировала, как и ожидалось. Так же, как я сказал, что мне интересно, есть ли лучший способ сделать это. Как то, как я это сделал, требуется, чтобы все классы, которые я хочу, и Pinitiaze () , чтобы быть в одной папке и, чтобы имя файла была такой же, как и имя класса. Проект для этого в идеале станет библиотекой, поэтому я хотел сделать его более абстрактным, чтобы люди могли использовать свои собственные форматы для файлов и классов. Например, если они хотели разместить несколько классов в один файл. Если есть лучший способ, я найду, я обновлю его < /p>
Type baseType = typeof(IFoo);
Assembly assembly = typeof(IFoo).Assembly;
List types = assembly.GetTypes().Where(t => t.IsClass && t.GetInterface("IFoo") != null).ToList();
Подробнее здесь: https://stackoverflow.com/questions/796 ... h-subclass
Выполните статическую функцию, которую реализуют все подклассы для каждого подкласса [закрыто] ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Выполните статическую функцию, которую реализуют все подклассы для каждого подкласса [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Выполните статическую функцию, которую все подклассы реализуют для каждого подкласса в C#
Anonymous » » в форуме C# - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-