0

这是我的代码。我无法访问函数中的构造函数值。

 public partial class ForgotPassword : UserControl
    {
         private string mobile_num2 = "";
         public ForgotPassword(string _mobile_num)
         {

             mobile_num2 =_mobile_num;
             MessageBox.Show(mobile_num2);//Getting Value here
             InitializeComponent();

         }

       private void btn_submit_Click(object sender, RoutedEventArgs e)
       {
            string val_conf_pwd;
            string conf_pwd = txt_new_conf_pwd.Password;
            val_conf_pwd = c.validate_conf_Password(pwd, conf_pwd);

            if (val_conf_pwd == "success")
            {
               MessageBox.Show(mobile_num2);//Getting Null Value Here
            }
        }
    }
4

1 回答 1

0

如果这是您的实际代码(并且不仅仅是您实际上在构造函数中声明了另一个局部变量,而不是将值分配给该字段),那么我怀疑问题在于btn_submit_Click正在调用的实例不是同一个作为您使用非空值构建的那个。

所以你需要看看你在哪里构造任何实例ForgotPassword——你不能只构造一个新实例并希望它与mobile_num2现有实例具有相同的值,除非你明确地将正确的值传递给构造函数。

(顺便说一句,我鼓励您对方法和变量使用更传统的名称 - 只是camelCase没有下划线。但显然这不是问题的一部分。

于 2013-09-14T13:00:26.997 回答