UserControl文本框获取设置属性

本文关键字:设置 属性 获取 文本 UserControl | 更新日期: 2023-09-27 18:02:59

我得到以下错误:

 An unhandled exception of type 'System.StackOverflowException'
 occurred in ciscontrols.dll

相关代码如下:

private int Dval;
public int DecPlaces
{
    get { return Dval; }
    set
    {
        DecPlaces = value;
        if (value < 2)
        {
            throw new ArgumentOutOfRangeException("decplaces", "decimal places minimum value should be 2.");
        }
        else this.Dval = value;
    }
}

UserControl文本框获取设置属性

查看我在代码中的注释-

private int Dval;
    public int DecPlaces
    {
        get { return Dval; }
        set
        {
            //DecPlaces = value;  **** This is calling set method again, hence the exception. Just comment this line
            if (value < 2)
            {
                throw new ArgumentOutOfRangeException("decplaces", "decimal places minimum value should be 2.");
            }
            else this.Dval = value;
        }
    }

您正在调用Set属性无限方式

  DecPlaces = value;

使用一些lcoal变量来执行此操作

int m= value;

你的问题是:

DecPlaces = value;
你自参照

。你一直在给setter打电话。把这行删掉就行了