Очистка и анализ результатов поиска Google с использованием Python

Это довольно просто. Предположим, что ваше имя класса Car, а пространство имен - Vehicles, затем передайте параметр как Vehicles.Car, который возвращает объект типа Car. Подобным образом вы можете создать любой экземпляр любого класса динамически.

public object GetInstance(string strNamesapace)
{         
     Type t = Type.GetType(strNamesapace); 
     return  Activator.CreateInstance(t);         
}

Если ваше Полноценное имя (т. Е. Vehicles.Car в этом случае) находится в другой сборке, Type.GetType будет null. В таких случаях вы прокручиваете все сборки и находите Type. Для этого вы можете использовать приведенный ниже код

public object GetInstance(string strFullyQualifiedName)
{
     Type type = Type.GetType(strFullyQualifiedName);
     if (type != null)
         return Activator.CreateInstance(type);
     foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
     {
         type = asm.GetType(strFullyQualifiedName);
         if (type != null)
             return Activator.CreateInstance(type);
     }
     return null;
 }

. Вы можете получить экземпляр, вызвав вышеуказанный метод.

object objClassInstance = GetInstance("Vehicles.Car");

22
задан Community 23 May 2017 в 11:54
поделиться