
いつも大変勉強にさせてもらってます。
C#・・というかプログラミング初心者です。
勉強はとにかくしているんですが、躓いてばかりです・・。
多分基本的なことだとは思うんですが、調べても、本を読んでもわからなかったので、ご教授願います。
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();
string id = Cmb_WK.GetItemText(Cmb_WK.SelectedValue).ToString();
}
private void KijiCmbBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Console.WriteLine("商品名" + sname + "ID" + id);
}
上のコンストラクタで作った sname と id を下のコンストラクタで使いたいのですが、publicだからそのまま書いても使えるかと思ったんですけど、エラーになります。
さらに以下のようにソースを付け足してみたのですが、System.StackOverflowExceptionがでてしまい困っています。
public string sname{
get { return sname; }
set { sname = value; }
}
public string id
{
get { return id; }
set { id = value; }
}
そもそもコンテキストが違うとアクセスできないということでしょうか?
ご存知の方、よろしければ教えてください。
No.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);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#での関数テーブルの作り方
-
マルチスレッドで同時にFTPアッ...
-
C# ListBoxのアイテムをユーザ...
-
C#でIPアドレスの取得について
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
-
matchesを否定文として使う方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Java8以降】csvファイルの複...
-
特定の文字列が一致する行から...
-
C# ListBoxのアイテムをユーザ...
-
マルチスレッドで同時にFTPアッ...
-
「指定されたキャストは有効で...
-
Delphiで改行文字の置換がうま...
-
C#でプロパティを使わずXMLにデ...
-
ArrayListを改良したい
-
jap実行時のTomcatのエラーに困...
-
C#でIPアドレスの取得について
-
C#での関数テーブルの作り方
-
strcmp関数などでの複数の文字...
-
string→CStringの型変換について
-
strtokでの空文字への置き換え
-
php掲示板でトリップ(ID)をつ...
-
C#での関数テーブルの作り方
-
PHPのSHA256変換について
-
c言語
-
C++ ファイルからデータを取得
-
C++のmap
おすすめ情報