2013-01-07 47 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 最佳实践的设计模式,具体取决于您需要执行的操作。