如何使用已知屬性創建類實例? 在這個屬性是一個枚舉的值。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