在运行时设置DefaultValueAttribute?

时间:2014-08-07 18:32:36

标签: c# .net propertygrid

尝试在运行时设置默认值,以下类用于我的propertygrid:

public class zPosition
{
    public int _x;
    public int _y;

    public zPosition(int x, int y, int dx = 0, int dy = 0)
    {
        this._x = 10;
        this._y = 10;
        // set the default values here
    }

    [DisplayName("X"), DefaultValueAttribute(0)]
    public int X
    {
        get { return _x; }
        set { _x = value; }
    }

    [DisplayName("Y"), DefaultValueAttribute(0)]
    public int Y
    {
        get { return _y; }
        set { _y = value; }
    }

}

如何在类构造函数中设置这些默认值?

由于

1 个答案:

答案 0 :(得分:0)

您的问题的答案是:DefaultValueAttribute无法在运行时设置。你对属性的理解是错误的。

但是,根据您的需求,还有其他可能的解决方案。请参阅评论和链接。