我正在向一个类发送一个变量,当程序正在调试时,当我发送变量时,如果我要查看该类,那么变量中有值,但是当我需要使用它时,我变空了,这就是我正在做的事情:
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 :(得分:0)
您是否在点击按钮的同时模仿课程?如果不是,则会在addonal change中抛出null引用异常
`public string _nombre;
public string nombre
{
get { return _nombre; }
set { _nombre = value; }
}`
到
private string _nombre;
public string nombre
{
get { return _nombre; }
set { _nombre = value; }
}
答案 1 :(得分:0)
使用您创建的get / set方法,您实际上并不需要您编写的赋值方法。
只需编写即可为对象指定变量
objclase.nombre = value
而不是需要一个赋值方法(get / set以这种方式工作,但也兼作一个访问器)。
当您从所选项目中分配变量时,我希望您认为选择的项目未被实际选中 - 过去我可能会遇到顶级项目可见的问题,但不是考虑"选择"因此也会返回不正确的值。
有关解决该问题的信息,请参阅Selecting default item from Combobox C#