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変数を実際に宣言しただけではない場合) 、呼び出されているインスタンスが同じではないことが問題であると思われますnull 以外の値で構築しているものとして。

そのため、インスタンスを作成している場所を確認する必要があります。ForgotPassword明示mobile_num2的に適切な値をコンストラクタ。

(余談ですが、メソッドと変数にはcamelCase、アンダースコアなしで、より慣習的な名前を使用することをお勧めします。しかし、明らかに、それは問題の一部ではありません.

于 2013-09-14T13:00:26.997 に答える