Объект класса по имени
Всем привет! Очень нужна ваша помощь: Как мне создать объект класса, зная его имя? Условно, у меня есть enum, содержащий в себе: Black, White, Yellow.
Нужно создать объект, учитывая выбранное в enum, по типу new Black(), new (Значение enum). Заранее спасибо за ответ!
Ответы (1 шт):
Автор решения: KOTlK
→ Ссылка
Очень мало информации в вопросе, нужно больше конкретики.
Если нужно просто возвращать новый объект по значению enum, то можно сделать что-то такое:
using System;
public class Script
{
public ColorBase Create(ColorType color)
{
switch (color)
{
case ColorType.White:
return new White();
case ColorType.Yellow:
return new Yellow();
default: throw new ArgumentException();
}
}
}
public class ColorBase
{
}
public class White : ColorBase
{
}
public class Yellow : ColorBase
{
}
public enum ColorType
{
White,
Yellow,
}
Create будет возвращать новый объект на основе enum, который вы передали ему.