2016-09-10 7 views
-6

ありがとうございます。私に2つのスクリプトがあるとします。C#別のスクリプトで戻り値を使用する方法

メソッドからの戻り値を1つのスクリプトで取得します。

public class ClassA { 
    public int A (int a, int b) 
    { 
     return a + b; 
    } 
} 

と私が返す値(INT A)別のスクリプトで使用したい:

class ClassB { 

    public ClassA _ClassA = new ClassA(); 
    public int TheReturn; 

    public void update() 
    { 
     TheReturn = _ClassA.A; 
    } 
} 

私はそれを試してみました方法です。そして、それは働いていません。

TheReturn = _ClassA.Aの引数の欠如を指摘してくれた皆さん、ありがとうございます。

Aの入力値が読み取り値である場合(int a、int bの代わりにSerialPort.Reading()などの値が常に変化します)。そしてClassAのメソッドAからの実際の "戻り値"を使用したいと思います。私は何をすべきか?

print()のようなものを使用し、別のクラスでRead()を使用できますか?

+4

引数を渡すことによって、メソッドを_call_する必要があります。例えば。 'TheReturn = _ClassA.A(10、20);'スタックオーバーフローは、プログラミング言語の仕組みの基本的なトレーニングを受ける場所ではありません。しばらく時間をとって、良い本を見つけて、言語のドキュメントを読んでください。 –

答えて

0

あなたの質問は本当にmessiですが、おそらくこれはあなたが探しているものですか?

class ClassB 
{ 

    public ClassA _ClassA = new ClassA(); 
    public int TheReturn; 

    public void update(int x, int y) 
    { 
     TheReturn = _ClassA.A(x,y); 
    } 
} 
+0

ありがとうございます。 ClassBのClassAから返された値を使用したいと思います。コードをどのように書くべきですか?ごめんなさい、私の初めての質問を申し訳ありません。 –

0

スクリプトに関しては考えないでください。 C#の場合、コードが1つのファイルにあるのか、100個のファイルに分割されているのかは関係ありません。これは組織的な懸案事項です。

あなたには2つのクラスがあります。

ClassAは、2つの入力パラメータと1つの戻り値を持つメソッドAを宣言します。

この方法を使用する場合は、まずClassAオブジェクトを作成する必要があります。あなたはそうしています。ここまでは順調ですね。

このメソッドを呼び出して、必要な引数を渡す必要があります。

ClassA aObject = new ClassA(); 
int result; 

result = aObject.A(2, 7); 

メソッド名の後ろと引数リストの前後に括弧を入れて指定します。この例では、メソッドAによって返された値は変数resultに格納されます。あなたは今、あなたはまた、実際に

Console.WriteLine(aObject.A(2, 7)); 

代わりに、直接の結果を使用することができます

Console.WriteLine(result); 

、メソッド呼び出しが

Console.WriteLine(aObject.A(2, 7) * aObject.A(3, 9) + 10); 

見られるような表現の一部にすることができ、このようにそれを印刷することができ:Methods (C# Programming Guide)

+0

ありがとうございます。私は実際にClassAのメソッドからの戻り値を使用したい。出来ますか? –

+0

結果値は 'ClassA'に格納されません。メソッド「A」はこの値を呼び出し元に返します。私の例では、変数 'int result'に格納されています。 –

関連する問題