2017-12-09 18 views
-5

エラーは、私は2つの別のベクトル(ベクトルとベクトル1) ReadOnlyVectorの等しい合計が持つベクトルを、返さなければなりません読み取り専用フィールドを返す方法は?

「(...)読み取り専用フィールドには、に割り当てることができません」

ですどのように初期化して新しいReadOnlyVectorを返すことができますか?

public class ReadOnlyVector 
    { 
     public readonly double X; 
     public readonly double Y; 
     public ReadOnlyVector(int x, int y) 
     { 
      X = x; 
      Y = y; 
     } 
     public ReadOnlyVector Add (ReadOnlyVector vector, ReadOnlyVector vector1) 
     {   
      return new ReadOnlyVector {X = vector.X + vector1.X, Y = vector.Y + vector1.Y} 
     }    
    } 

答えて

2

コンストラクタを使用します。現在、オブジェクトイニシャライザ構文を使用しています。

public ReadOnlyVector Add (ReadOnlyVector vector, ReadOnlyVector vector1) 
{   
    return new ReadOnlyVector(vector.X + vector1.X, vector.Y + vector1.Y); 
} 
+0

私はこのコンストラクタの構文を知らなかったので、それは悲惨なことでした。あなたの答えは10Q – CFmoto6615

関連する問題