Создавайте классы с интерфейсами.Тогда итерируйте это в codebehind - PullRequest
1 голос
/ 29 апреля 2011

У меня вопрос о классах с включением интерфейсов. У меня около 12 классов с одинаковым интерфейсом. Теперь мне нужно перечислить все классы. В этой функции может быть создано 1000 новых классов. Но поскольку они отвечают за устройства, некоторые классы устаревают.

Ok. Нет проблем, чтобы перечислить все классы с помощью

dim ClassList as new List(Of MyInterface)
ClassList.Add(New MyFirstItem())
ClassList.Add(New MySecondItem())
ClassList.Add(New MyThirdItem())
ClassList.Add(New ...)

тогда

For each item as MyInterface in ClassList
   'Print info
next

это то, что я делаю сейчас.

Я хочу спросить, можно ли сообщить Visual Studio или моему приложению, что у меня есть одна папка решения со всеми записанными классами, и автоматически добавить эти элементы в список. Или сделать это как плагины. Я хочу избежать строк выше. И я хочу избежать создания полностью нового проекта только для нескольких строк кода в каждом классе.

ClassList.Add(New ...) 'would like to avoid this to do manually

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

Надеюсь, я смогу объяснить свой вопрос

Привет

1 Ответ

0 голосов
/ 29 апреля 2011

Предполагая, что все ваши классы находятся в своих собственных файлах с именем их класса в каталоге, вы можете создать небольшое приложение, которое выведет ваши строки в текстовый файл, например так:

String[] Files= Directory.GetFiles("PATH", "*.cs");                
foreach (String file in Files)
{
    WriteLine("ClassList.Add(new " + file.Replace(".cs", "") + ");");
}
...