Test2.cs内でInitializeComponent()がPrivateで定義されています。その定義の中で宣言されているexample.Hiddenの値をTest1.csのif文処理内で書き換えたいというのが目的です。
C#
1Test1.cs 2public partial class TestPrivate 3{ 4 private void btnCkuck_Event(object sender, EventArgs e) 5 { 6 if(条件文) 7 { 8 //if文処理 9 //exampleのHiddenをここで書き換えたい 10 } 11 } 12}
C#
1Test2.cs 2partial class TestPrivate 3{ 4 private void InitializeComponent() 5 { 6 Example example = new Example("Column1"); 7 example.Hidden = true; 8 } 9}
調べた結果、privateは同クラスであれば参照が可能というのは理解できております。
しかし、同クラスにはなっているが別項目になっている場合にどう指定すればいいのかがわかりません。
わかる方教えてください。
###追記
作っている内容はWindows Formで、
1.選択ボックス(プルダウン式)
2.データテーブル
のあるウィンドウを作成しております。
選択ボックスで選択した内容によってデータテーブルの表示項目を操作する
というのが今回の目的となります。
スペック
OS:Windows10 Pro 64bit
IDE:Visual Studio 2015
何を作っているか (Windows Forms? WPF? ASP.NET Web Forms? その他?) ぐらいは書けませんか?
追記事項として追加させていただきました。
リフレクション(System.Reflection) で他クラスのprivateフィールドに無理やりアクセスしたい、と言う技術要素的な話かと思いましたが、むしろオブジェクト指向~クラス設計の話のようですね。
別項目というのはファイルがpartialで別になっているということですか?
ozwk様
おそらくおっしゃる通りの状態かと。行き違いが無いようご説明すると
別項目とはTest1.csとTest2.csでファイルが別になっているということです。
(Visual Studioだと項目という表記だったので記載しました)
分かりにくい説明で申し訳ありません。
回答のほうにも書きましたが、exampleはどこに定義してあるのですか?
「同名クラスのprivate 変数」じゃなくて
「privateメソッド内のローカル変数」ですね?
ozwk様
その通りです。タイトルを修正させていただきます。
もしかして、データテーブルと言うのはDataGridView(もしくは類似コントロール)のことで、選択ボックスの選択によってあるColumnの表示、非表示を切り替えたいということなのでしょうか?
> 追記事項として追加させていただきました。
「何を作っているか (Windows Forms? WPF? ASP.NET Web Forms? その他?) 」とお聞きしているのですが?
「選択ボックス」とは何ですか? CheckBox のことですか? CheckBox クラスは Windows Forms, WPF, ASP.NET Web Forms のいずれにもあるのですよ。html にもあります。
SurferOnWww様
大変失礼いたしました。
追記内容修正させていただきました。
選択ボックス(プルダウン式) とは ComboBox のことですか?
SurferOnWww様
ComboBoxで間違いないです。
回答3件
あなたの回答
tips
プレビュー