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