- 題名: C#でのクラスの内のthisの参照の仕方
- 日時: 2009/12/28 15:31:43
- ID: 26157
- この記事の返信元:
- (なし)
- この記事への返信:
- [26158] Re[1]: C#でのクラスの内のthisの参照の仕方2009/12/28 16:15:20
- ツリーを表示
■No26157に返信(たなかさんの記事) > private test() { これはコンパイルエラーになるはずですよ。 「private void test() {」や 「private clsSample() {」ならば OK ですが。 で。とりあえず、下記のコードで出力されました。 # 手元に Visual Studio が無かったので、メモ帳で書いて実験。 下記のファイルを C:\sample.cs として保存して… //--------------------- using System; using System.Windows.Forms; public partial class Form1:Form { clsSample c; public string test = "1"; public Form1() { //InitializeComponent(); c = new clsSample(this); } public static void Main() { Application.Run(new Form1()); } } class clsSample { public Form1 b1; public clsSample(Form1 b) { b1 = b; test(); } private void test() { Console.WriteLine( b1.test ); } } //--------------------- コマンド プロンプトで下記を実行 %WINDIR%\Microsoft.NET\Framework\v2.0.50727\CSC.EXE /target:exe /out:C:\sample.exe C:\sample.cs コマンド プロンプトから、生成された C:\sample.exe を実行した所、 期待通り「1」と表示されました。 なお、オプション指定を /target:winexe に変更した場合には、 そのままでは出力結果を読めないので、 C:\sample.exe | MORE などとするか、ファイルに C:\sample.exe > C:\result.txt などとリダイレクトしないと分かりにくいですね。
分類:[.NET]
別のクラスからForm1クラスを参照し値を参照したいのですが
thisを別のクラスの中に引数で渡し参照がうまくいきません。
Console.WriteLine( b1.test );で参照しましたがうまく参照できません
でした。
どなたかご教授をお願いします
public partial class Form1:Form {
clsSample c;
public string test = "1";
public Form1() {
InitializeComponent();
c = new clsSample(this);
}
}
class clsSample {
public Form1 b1;
public clsSample(Form1 b) {
b1 = b;
}
private test() {
Console.WriteLine( b1.test );
}
}