2015-10-21 162 views
-2

我送一個變量的一類,而在程序運行時調試,當我發送的變量,如果我要去看類,還有變量中的值,但是當我需要使用它,我越來越空,這裏是我在做什麼:爲什麼我得到空從類C#

Clase1 objclase = new Clase1(); 

private void b_Aceptar_Click(object sender, EventArgs e) 
{ 
    //cbnombre is the name of a combobox 
    objclase.retornaNombre(cb_nombre.SelectedItem.ToString()); 
    //MessageBox.Show(cb_nombre.SelectedItem.ToString()); 
} 

類有:

public class Clase1 
{ 
    public string _nombre; 
    public string nombre 
    { 
     get { return _nombre; } 
     set { _nombre = value; } 
    } 

    public void retornaNombre(string nom) 
    { 
     _nombre = nom; 
    } 
} 

這裏是我的問題:

public void button1_Click(object sender, EventArgs e) 
{ 
    frm_IngresarNombre ventana = new frm_IngresarNombre(); 
    ventana.ShowDialog(); 

    MessageBox.Show(objclase.nombre); 
} 

在此留言箱我收到... 希望你能幫助我。

+0

您沒有設置該屬性和訪問相同的,這就是爲什麼得到錯誤。 – Amit

+1

見[此元交](http://meta.stackoverflow.com/questions/266563/do-non-english-words-increase-the-probability-of-receiving-downvotes/)在非英語的代碼。 – nvoigt

+0

這個問題大部分是:1)與其他函數中的objclase相同。 2)be_aceptar方法是否在button1_click之前運行?如果兩個都是真的,那麼它很奇怪,但我猜,這兩個中的一個是假的 – Thomas

回答

0

你有沒有模仿課堂,而點擊按鈕?如果不是有將拋出空引用異常的addonal變化

`public string _nombre; 
    public string nombre 
    { 
     get { return _nombre; } 
     set { _nombre = value; } 
    }` 

private string _nombre; 
    public string nombre 
    { 
     get { return _nombre; } 
     set { _nombre = value; } 
    } 
0

使用創建的get/set方法,你實際上並不需要你寫的分配方法。

您可以通過簡單地編寫 objclase.nombre = value而不是需要賦值方法(get/set以此方式工作,但也作爲訪問器兼用)來爲您的對象分配變量。

當您從選定的項目分配變量,我希望你相信實際上沒有選擇要選擇的項目 - 我已經在過去其中頂部項目可見有問題,但沒有考慮「選擇「因此也會返回一個不正確的值。

Selecting default item from Combobox C#至於解決這一問題