質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

Q&A

解決済

1回答

2726閲覧

別クラスから変数を受け取りたい (再)

fender0131

総合スコア121

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

0グッド

0クリップ

投稿2015/10/15 05:07

編集2015/10/15 05:07

プログラムを書き換え再度投稿させて頂きました。
内容としましては、textbox1・2に数値を打ち込み、save_btを押すと、2つの値の合計がファイルに落とされるものとしました。
以下のプログラムで別クラスの変数xを受け取り、引数として別クラスに渡したいのですが、どのような処理が必要でしょうか?

ご指導ご鞭撻の程よろしくお願い致します。

public partial class Form1 : Form
{
public float a =10 ; // textboxの値を取ってきます (省略して直で値を与えています)
public float b =20 ; // textboxの値を取ってきます

public void keisan() { Test.test(a,b) } public void save_bt_Click(object sender, EventArgs e) { // ここで何かしらの処理が必要と考えられる // // クラス「Test」内の変数、x を受け取り、引数で渡したい Save.save ( Test.x ); // 値を受け取れていない }

}

public partial class Test
{
public float x;

public static void test ( float a, float b ) { Test t = new Test(); t.x = a + b; }

}

public class Save
{
public static void save( float x)
{
StreamWriter sw = new System.IO.StreamWriter(
@"C:\data\file",
true,
System.Text.Encoding.GetEncoding("shift_jis")
);

sw.WriteLine(String.Format("C {0}", x); }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

xをstaticな領域にできないなら
keisanを実行した時に作成したTestクラスのインスタンスを受け取って
受け取ったインスタンスのxを参照したらいいんじゃないでしょうか?
※下記コードのテストはしていません

C#

1public partial class Form1 : Form 2 { 3 public float a =10 ; // textboxの値を取ってきます (省略して直で値を与えています) 4 public float b =20 ; // textboxの値を取ってきます 5 private Test obj = null; 6 7 public void keisan() 8 { 9 obj = Test.test(a,b) 10 } 11 12 public void save_bt_Click(object sender, EventArgs e) 13 { 14 if( obj != null) 15 { 16 Save.save ( obj.x ); 17 } 18 } 19 } 20 21 public partial class Test 22 { 23 public float x; 24 25 public static Test test ( float a, float b ) 26 { 27 Test t = new Test(); 28 t.x = a + b; 29 return t; 30 } 31 } 32 33public class Save 34{ 35 public static void save( float x) 36 { 37 StreamWriter sw = new System.IO.StreamWriter( 38 @"C:\data\file", 39 true, 40 System.Text.Encoding.GetEncoding("shift_jis") 41 ); 42 43 sw.WriteLine(String.Format("C {0}", x); 44 } 45} 46

投稿2015/10/15 05:44

kutsulog

総合スコア985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fender0131

2015/10/15 07:04

インスタンスの使い方について大変参考になりました。 思い通りの結果を出力することができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問