2013-01-07 111 views
0

我有一個抽象類創建對象屬性

public abstract class BaseClass 
{ 
    public abstract void CreateGraph(){} 
} 

[CustomAttribute(Property1 = value , Property2 = value2)] 
public class Graph1 : BaseClass 
{ 
public override void CreateGraph() 
    { 
     //implementation 
    } 
} 

如何使用CustomAttribute屬性值創建的Graph1對象。 這是創建對象的好方法。

回答

0

不,這不是一個好方法,因爲在編譯時必須知道.NET屬性值。例如,在您的示例中,valuevalue2只能是常數值,這非常限制了設置值的可能性。

0

如果你想要自定義屬性,你應該定義一個繼承自System.Attribute的類。實際上,如果您在System.AttributeUsage中將AllowMultiple參數設置爲true,則可以使用不同的值將您的自定義屬性重複多次。

您可以check that here

但是,你不需要那個「創建對象」,我不確定在這裏看到你的意思是什麼「好方法」。如上所述,您應該查看GoF 最佳實踐的設計模式,具體取決於您需要執行的操作。