Отримати тип класу на його ім’я
Як отримати тип класу на його ім'я?
Гарним способом це не зробити, потрібно використовувати reflection і MakeGenericMethod:
Activator віддасть Вам посилання типу object на створений об'єкт класу на повне кваліфіковане ім'я класу:
Якщо Ви хочете звертатися до методів і полів об'єкта класу безпосередньо, Вам потрібно буде в явному вигляді вказати конкретний тип. Для цього можна використовувати, наприклад, безпечне наведення типу:
Якщо Ви не хочете явно вказувати тип коду, то можете скористатися механізмом динамічної типізації:
Зверніть увагу на обробку RuntimeBinderException.
Для отримання типу на ім'я потрібно дописувати простір імен, а краще використовувати повне ім'я із зазначенням імені збірки.
Отримати тип краще зі збирання. Попередньо її завантаживши. Для .Net Core це виглядає так
Ну а зі складання можеш отримати і тип використовуючи GetType
Подивися тут .Net Core, AppDomain, WCF, RPC маршалінг по Tcp/Ip свій велосипед
Там і пошук типу, методів з параметрами за замовчуванням, параметрами масивами, методами Дженеріка, методів розширень у тому числі Linq, делегатів, об'єктів підтримують IDynamicMetaObjectProvider (DynamicObject,ExpandoObject,JObject). У тому числі пошук дженерик методу з автовиводом типу за параметрами
Наприклад там реалізований динамічний виклик дженерик методу
Де TO це динамік, що викликає метод по Tcp/IP, але його можна прив'язати до типу і викликати методи локально. Просто для пошуку методу через перевантаження, дефолтні параметри, параметри масивів не завжди просте завдання
Для звичайного .Net пошук складання виглядає так. Відразу перепрошую за Русліш.