@spark36
Полная комплектация: 2 руки, 2 ноги, голова, мозги

C#, как создать экземпляр класса по названию в string?

Есть несколько классов, в string указано имя класса, как по этому имени создать экземпляр класса?
  • Вопрос задан
  • 3208 просмотров
Решения вопроса 1
@heartdevil
плыву как воздушный шарик
Привет.

Вот хороший пример.

Вот еще из msdn.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ar4ebaldello
var classes = new[]
{
    new
    {
        Name = "System.String",
        AssemblyName = "mscorlib",
        Args = new object[] { "Single argument".ToCharArray() }
    },
    new
    {
        Name = "Newtonsoft.Json.Linq.JObject",
        AssemblyName = "Newtonsoft.Json",
        Args = new object[] {}
    },
    new
    {
        Name = "System.IO.FileInfo",
        AssemblyName = "mscorlib",
        Args = new object[] { @"C:\Windows\System32\cmd.exe" }
    }
};
            
var instances = classes
    .Select(i =>
    {
        var assembly = Assembly.Load(i.AssemblyName);
        var type = assembly.GetType(i.Name);
        var instance = Activator.CreateInstance(type, i.Args);

        return instance;
    })
    .ToArray();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы