不可调用的成员不能像方法一样使用?

我的程序中不断出现以下错误:

'System.Windows.Forms.TextBox.Text' is a 'property' but used like a 'method' 

 Non-invocable member 'System.Windows.Forms.Control.Text' cannot be 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"); } } 

我该如何解决这个问题?

编辑:修复了错误,现在遇到另一个: Argument 4: Cannot convert String to int ,我似乎无法解决问题。

在你写“OffenceBox.Text()”的地方,你需要用“OffenceBox.Text”替换它。 这是一个属性,而不是一个方法 – 错误中的线索!

之所以发生这种情况,是因为您尝试使用属性“OffenceBox.Text”就像一个方法。 尝试从OffenceBox.Text()删除parenteses,它会正常工作。

请记住,您无法在类中创建具有相同名称的方法和属性。


顺便说一句,一些别名可能会让你感到困惑,因为有时它是方法或属性,例如:“Count”别名:

命名空间:System.Linq

 using System.Linq namespace Teste { public class TestLinq { public return Foo() { var listX = new List(); return 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(); return listX.Count; } } } 

  • 来源 – Linq: https ://msdn.microsoft.com/library/bb338038( v = vs.100).aspx
  • 来源 – 列表: https : //msdn.microsoft.com/pt-br/library/27b47ht3(v=vs.110).aspx

由于错误明确指出, OffenceBox.Text()不是一个函数,因此没有意义。