Может ли строка использоваться для объявления типа на C#?C# Как использовать строку для объявления типа
Вместо:
MyType foo = bar;
Вы бы строку "MyType".
string typeString = "MyType";
TypeOftypeString foo = bar;
Очевидно, что я не знаю, как правильно это сделать. Таким образом, приведенный выше пример - это просто способ передать то, что я думаю.
В Unity3D я могу установить строку для определенного значения перед временем выполнения. Могу ли я использовать эту строку для определения типа? Даже если это окажется нелогичным преследованием в моем коде, возможно ли это? Если да, то как вы это делаете?
Редактировать: Развернуть все, что я сказал. MyType - это класс внутри приложения. У меня также есть MyOtherType и MyDifferantType. Я хочу иметь эту строку как «MyType» или «MyOtherType», а затем назначить уже созданный экземпляр этого объекта в это поле. Я пытаюсь избежать очень длинного оператора if-else или switch(), где я делаю случай для каждого типа, с которым может столкнуться объект, даже если этот тип предварительно определен, когда строка задана перед временем выполнения.
Если это кажется безумным поручением, дайте мне знать.
TypeOftypeString всегда будет строка, вы имели в виду значение TypeString? – Hristo
вы можете использовать 'Activator.CreateInstance'. –
@ DanielA.White Он хочет создать новый тип во время выполнения, а не создавать уже созданные. – Hristo