Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1463 of 1492 menu
◀ ▶

Метод CreateInstance

Вызов с одним аргументом typeof(Gate) использует открытый конструктор без параметров. Перегрузка с дополнительными значениями передаёт их в конструктор.

Синтаксис

object item = Activator.CreateInstance(type, args);

Пример

Давайте создать Gate без параметров:

using System; class Gate { public int Count = 12345; } class Program { static void Main() { Gate gate = (Gate)Activator.CreateInstance(typeof(Gate)); int res = gate.Count; Console.WriteLine(res); } }

Результат выполнения кода:

12345

Пример

Давайте передать abcde в конструктор:

using System; class Gate { public string Name; public Gate(string name) { Name = name; } } class Program { static void Main() { Gate gate = (Gate)Activator.CreateInstance(typeof(Gate), "abcde"); string res = gate.Name; Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте вызвать CreateInstance без параметров, когда их конструктора нет:

using System; class Gate { public Gate(string name) { } } class Program { static void Main() { try { Activator.CreateInstance(typeof(Gate)); } catch (MissingMethodException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить