2013-08-08 28 views
21

benim programda aşağıdaki hataları almaya devam: Non-invocable üye bir yöntem gibi kullanılamaz?

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"); 
    } 
    } 

Bu sorunu nasıl düzeltebilirim

:

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

ve burada

Non-invocable member 'System.Windows.Forms.Control.Text' cannot be used like a method. 

kodudur?

DÜZENLEME: hata düzeltildi ve şimdi başka karşılaştı: Argument 4: Cannot convert String to int ve ben sorunu çözmek için görünmüyor olabilir.

cevap

45

"OffenceBox.Text()" yazdığınız yerde, bunu "OffenceBox.Text" ile değiştirmeniz gerekir. Bu bir özellik değil, bir yöntem - ipucu hatada!

+0

Bu çalıştı, ancak başka bir sorunla karşılaştım: 'Argüman 4: String'i int dönüştürebilir ve düzeltemiyorum. – Angelrawzz

+0

int.Parse (HeightBox.Text) yerine (HeightBox.Text). Text özelliği, tür dizesidir, bu nedenle AgeBox.Text için yaptığınız gibi bir int'ye dönüştürmeyi denemeniz gerekir. Bunlardan oluşan kutu, int'e dönüştürülemeyebilir, dolayısıyla ortaya çıkan İstisna'yı yakalamanız gerekir. –

2

Hata açıkça belirtildiği gibi, OffenceBox.Text() bir işlev değildir ve bu nedenle bir anlam ifade etmez.

3

Genel olarak, farklı sınıftaki yöntemleri kullanabilirsiniz. Ör: "Sayım" kullanım:


Ad alanı: 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); 
     } 
    } 
} 

Ad alanı: System.Collections.Generic

using System.Collections.Generic 

namespace Teste 
{ 
    public class TestList 
    { 
     public int Foo() 
     { 
      var listX = new List<int>(); 
      return listX.Count; 
     } 
    } 
} 

İlgili konular