C# 什么格式需要成为属性?

C# 什么格式需要成为属性?,c#,properties,C#,Properties,全部, 我有一个C#代码: 当我转到“属性”窗口时,我看到以下消息: 输入字符串的格式不正确 tbText是一个文本框控件,我试图获取或设置它的值 最初,控件为空 我做错了什么 谢谢。您正在setter中查找关键字 上下文关键字value通常在set访问器中使用 属性声明。它类似于计算机上的输入参数 方法 public int属性 { 收到 { int-defaultVal; int.TryParse(tbText.Text,out defaultVal); 返回def

全部,

我有一个C#代码:

当我转到“属性”窗口时,我看到以下消息:

输入字符串的格式不正确

tbText是一个文本框控件,我试图获取或设置它的值

最初,控件为空

我做错了什么

谢谢。

您正在setter中查找关键字

上下文关键字value通常在set访问器中使用 属性声明。它类似于计算机上的输入参数 方法

public int属性
{
收到
{             
int-defaultVal;
int.TryParse(tbText.Text,out defaultVal);
返回defaultVal;
}
设置
{
tbText.Text=value.ToString();
}
}
您正在setter中查找关键字

上下文关键字value通常在set访问器中使用 属性声明。它类似于计算机上的输入参数 方法

public int属性
{
收到
{             
int-defaultVal;
int.TryParse(tbText.Text,out defaultVal);
返回defaultVal;
}
设置
{
tbText.Text=value.ToString();
}

}
使用setter时,需要将其设置为关键字

public int property
{
    set
    {
        tbText.Text = value.ToString();
    }
    get
    {
        return Convert.ToInt32(tbText.Text);
    }
}
因此,当设置
属性时

property = 100; // value is equal to whatever you are making property equal.

希望这有帮助

使用setter时,需要将其设置为关键字

public int property
{
    set
    {
        tbText.Text = value.ToString();
    }
    get
    {
        return Convert.ToInt32(tbText.Text);
    }
}
因此,当设置
属性时

property = 100; // value is equal to whatever you are making property equal.

希望这有帮助

此外,出于惯例,最好将get访问器放在set访问器之前。@canon,谢谢,我更改了它,但这只是问题的一半。我收到以下消息:“属性的代码生成失败。错误是:对象上的属性访问器引发了以下异常:输入字符串的格式不正确”。有什么想法吗?您还需要验证输入以确保它是一个整数。您可以在前端添加一个CompareValidator,或者在访问器中使用tryparse或try/catch。因为
defaultVal
是一个
out
参数,所以不需要说
=0
,即在
tryparse
调用之前分配给它。您分配给它的值(此处
0
)保证会被丢弃和替换,因此永远不会被使用。@canon,我还有一个问题,很抱歉再次打扰您。我需要的是当控件被禁用时,它应该是空的。此代码始终显示0。因此,即使尝试签入代码,我也无法覆盖它。谢谢。另外,出于惯例,最好将get访问器放在set访问器之前。@canon,谢谢,我更改了它,但这只是问题的一半。我收到以下消息:“属性的代码生成失败。错误是:对象上的属性访问器引发了以下异常:输入字符串的格式不正确”。有什么想法吗?您还需要验证输入以确保它是一个整数。您可以在前端添加一个CompareValidator,或者在访问器中使用tryparse或try/catch。因为
defaultVal
是一个
out
参数,所以不需要说
=0
,即在
tryparse
调用之前分配给它。您分配给它的值(此处
0
)保证会被丢弃和替换,因此永远不会被使用。@canon,我还有一个问题,很抱歉再次打扰您。我需要的是当控件被禁用时,它应该是空的。此代码始终显示0。因此,即使尝试签入代码,我也无法覆盖它。非常感谢。