- ベストアンサー
コンストラクタの変数を別のコンストラクタで使えますか?
- コンストラクタの変数を別のコンストラクタで使う方法について教えてください。
- 上のコンストラクタで作成した変数を下のコンストラクタで利用する方法を知りたいです。
- コンストラクタの変数を別のコンストラクタで参照できない場合、どのように対処すればいいですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
コンストラクタなどのメソッド内で定義した『ローカル変数』は外部からアクセスは出来ません プロパティを実装するのであればその内容を保持する変数を別途準備しましょう private string sNameObject; private string sIDObject; といった具合に準備して public string sname{ get { return sNameObject; } set { sNameObject = value; } } public string id { get { return sIDObject; } set { sIDObject = value; } } といった具合に実装します コンストラクタ内でこれらの設定をするのであれば public void Set_ComboBox(string ColumnNo, string ColumnName, object CmbName) { System.Windows.Forms.ComboBox Cmb_WK; Cmb_WK = (System.Windows.Forms.ComboBox)CmbName; Cmb_WK.DataSource = this.M_KIJITableAdapter.GetDataById_Hinmei().Copy(); Cmb_WK.DisplayMember = "sname"; Cmb_WK.ValueMember = "id"; // string sname = Cmb_WK.SelectedValue.ToString(); this.sname = Cmb_WK.SelectedValue.ToString(); // string id = Cmb_WK.GetItemText(Cmb_WK.SelectedValue).ToString(); this.id = Cmb_WK.GetItemText(Cmb_WK.SelectedValue).ToString(); } といった具合にします private void KijiCmbBox1_SelectedIndexChanged(object sender, EventArgs e) { Console.WriteLine("商品名" + sname + "ID" + id); }
お礼
丁寧なご回答ありがとうございました。 解決できました。