Как создать экземпляр класса с использованием известных атрибутов? В этом атрибуты являются значениями перечисления.C# как создать экземпляр класса по атрибутам класса
public enum MyEnum
{
Value1,
Value2
}
class MyAttribute : Attribute... //attribute definition class
{ //uses the enum}
//Main
abstract class MyMain ...
{
public static MyMain CreateClass
{
MyMain newInheritedClass = ?
}
}
[MyAttribute(MyEnum.Value1)]
class MyClassA : MyMain ...
[MyAttribute(MyEnum.Value2)]
class MyClassB : MyMain ...
Для этого вы можете использовать [Reflection] (https://msdn.microsoft.com/en-us/library/mt656691.aspx), но чего вы действительно пытаетесь достичь? Вероятно, есть лучший способ сделать это. – InBetween
У меня есть значения перечисления, и вам нужно создать соответствующий класс на основе указанного перечисления. Следовательно: вызов конструктора с MyEnum.Value1 вернет новый экземпляр MyClassA. – KSav
Да, это очевидно из вашего вопроса. Но зачем вам это нужно? Это ваш дизайн? Вы управляете «MyMain» и производными классами или являетесь ли они третьей стороной или кодом, который вы не можете изменить? – InBetween