ここに私が現在取り組んでいるクラスのようなものがあります。ベースクラスまたは継承クラスの使用に関係なく、オペレータを実行しますか?
public class SomeClass
{
public PropertyAClass A { get; set;}
public PropertyBClass B { get; set;}
public SomeClass (PropertyAClass A, PropertyBClass B)
{
this.A = A;
this.B = B;
}
public static SomeClass operator +(SomeClass a, SomeClass b)
{
return new SomeClass(a.A + b.A, a.b + b.B);
}
}
public class DerivedClass : SomeClass
{
public DerivedClass (PropertyADerivedClass A, PropertyBDerivedClass B) : base(A,B)
{
}
//Operation is the same but I have to repeat the method
public static DerivedClass operator +(DerivedClass a, DerivedClass b)
{
return new DerivedClass(a.A + b.A, a.b + b.B);
}
}
ことが可能基本クラスに適用し、まだ出力として派生クラスを取得することによって派生クラスで演算子+を繰り返さないようにするだろういくつかのスマートな方法はありますか?
あなたが交換する方法を把握しようとしています1つの非常に単純なコード行です。たとえ可能であったとしても、あなたがしようとするものは、劇的に*より複雑になることは確かです。 – Servy
これは一例です。実際のコードでは、コード行はあまり「単純」ではありません。 – TTT
これが代表でない場合、この問題の解決法はあなたを助けてくれません。冗長な作成作業を繰り返さないようにする方法は、その作成作業が何であるかに大きく依存することになります。 – Servy