不可调用的成员不能像方法一样使用?
我的程序中不断出现以下错误:
'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()
不是一个函数,因此没有意义。