Есть ли способ указать тип во время выполнения путем литья строки с именами типов? Я надеюсь, что мой некомпилирующий код ниже может объяснить, что я пытаюсь сделать. Дайте мне знать иначе, и я стараюсь объяснить это лучше.Строка каста для ввода
var valueFromDropDownMenu = "MyClass";
List<Type.GetType(valueFromDropDownMenu)> dynamicList =
new List<Type.GetType(valueFromDropDownMenu) >();
// Code to iterate through objects and populate dynamicList
// with all objects of correct type
Что я пытаюсь сделать, так это позволить пользователю выбрать, какой тип объекта я обработать.
Я использую Unity3D, который является картой разработчика игр, и использует статический метод для загрузки ресурсов из файлов. Эти ресурсы необходимо бросить.
Я пытаюсь создать инструмент разработчика, который позволяет разработчику выбирать определенный тип ресурсов для загрузки. Поэтому мне нужно сделать что-то вроде
var files = LoadAll("Path, ofType(UserSelectedType));
Возможно ли это?
Посмотрите [здесь] (http://stackoverflow.com/questions/11107536/convert-string-to-type-in-c-sharp), это должно ответить на ваш вопрос. –
Я знаю, что это не отвечает на ваш вопрос, но можно ли создать интерфейс, который все эти типы могли бы реализовать, т. Е. Вы хотите сделать ту же операцию независимо от того, какой тип она действительно получает? –
'List' не будет работать, но вам, скорее всего, это не понадобится. Я полагаю, у вас уже есть список предметов для поиска? Если да, почему бы не использовать один и тот же тип - так как все найденные объекты будут такого типа или подтипа, так или иначе? –