Чтение из атрибута configSection типа «Тип» - PullRequest
0 голосов
/ 08 октября 2010

У меня есть такой раздел

<mySection type="Namespace.MyClass, AssemblyName" />

в моем коде мне нужно создать экземпляр MyClass, так что я делаю что-то вроде этого:

string type = GetMySectionType(); // "Namespace.MyClass, AssemblyName"

var typeParts = type.Split(',');
var className = typeParts[0].Trim();
var assemblyName = typeParts[1].Trim();
var assembly = Assembly.Load(assemblyName);
var myObj = (MyClass)assembly.CreateInstance(className);

Я уверен, что есть лучший способ сделать это без разделения строк, но я ничего не нашел в Google.

Edit: Есть какие-то встроенные вещи из фреймворка, которые получают тип как «Тип», ничего не делая?

1 Ответ

1 голос
/ 08 октября 2010

Вы можете использовать метод GetType (string typename). Например, как это:

string type = GetMySectionType(); // "Namespace.MyClass, AssemblyName"
Type myType = Type.GetType(type);
var myObj = (MyClass)Activator.CreateInstance(myType);

см. эту страницу для получения дополнительной информации.

...