C# 非invocable成员不能像方法一样使用?
我的程序中不断出现以下错误:C# 非invocable成员不能像方法一样使用?,c#,C#,我的程序中不断出现以下错误: 'System.Windows.Forms.TextBox.Text' is a 'property' but used like a 'method' 及 代码如下: if (OffenceBox.Text != "") { AddBook(int.Parse(AgeBox.Text), NameBox.Text, AddressBox.Text, (HeightBox.Text), OffenceBox.Text()); } else
'System.Windows.Forms.TextBox.Text' is a 'property' but used like a 'method'
及
代码如下:
if (OffenceBox.Text != "")
{
AddBook(int.Parse(AgeBox.Text), NameBox.Text, AddressBox.Text, (HeightBox.Text), OffenceBox.Text());
}
else
{
MessageBox.Show("Age must be max 3 numbers in length");
}
}
我如何解决这个问题
编辑:
已修复错误,现在遇到另一个错误:
参数4:无法将字符串转换为int,而且我似乎无法解决问题。正如错误明确指出的那样,OffenceBox.Text()
不是函数,因此没有意义。如果您编写了“OffenceBox.Text()”,则需要将其替换为“OffenceBox.Text”。这是一个属性,不是一个方法-线索在错误中 之所以发生这种情况,是因为您试图像使用方法一样使用属性“OffenceBox.Text”。尝试从OffenceBox.Text()
中删除parentese,它将正常工作
请记住,不能在类中创建具有相同名称的方法和属性
顺便说一句,有些别名可能会让您感到困惑,因为有时它是方法或属性,例如:“Count”别名:
名称空间:System.Linq
using System.Linq
namespace Teste
{
public class TestLinq
{
public return Foo()
{
var listX = new List<int>();
return listX.Count(x => x.Id == 1);
}
}
}
使用System.Linq
名称空间测试
{
公共类TestLinq
{
公众返回Foo()
{
var listX=新列表();
返回listX.Count(x=>x.Id==1);
}
}
}
命名空间:System.Collections.Generic
using System.Collections.Generic
namespace Teste
{
public class TestList
{
public int Foo()
{
var listX = new List<int>();
return listX.Count;
}
}
}
使用System.Collections.Generic
名称空间测试
{
公共类测试列表
{
公共int Foo()
{
var listX=新列表();
返回listX.Count;
}
}
}
- 资料来源:林克:
- 资料来源-名单:
我也有同样的问题,我意识到去掉括号是有效的。
有时,如果您是一段时间以来唯一一个处理代码的人,那么让其他人阅读您的代码可能会很有用
例如
替换:
cmd.CommandType=CommandType.Text 这是可行的,但我遇到了另一个问题,
参数4:无法将字符串转换为int
,而且我似乎无法修复它。int.Parse(HeightBox.Text)而不是(HeightBox.Text)。Text属性的类型为string,因此您需要尝试将其转换为int,就像对AgeBox.Text所做的那样。其中的一个框可能无法转换为int,因此您需要捕获结果异常。
using System.Collections.Generic
namespace Teste
{
public class TestList
{
public int Foo()
{
var listX = new List<int>();
return listX.Count;
}
}
}
cmd.CommandType = CommandType.Text();