次のクラスを持つ3番目の.NETライブラリを使用しています。C#派生型の処理、リファクタリング
形状(抽象基底クラス)
(彼から派生したすべての以下のクラス)
長方形
サークル
トライアングル
これらのクラスのすべてのプロパティを持っていますエリア
私は形状の配列を通過し、領域を設定します
P.S:領域はShapeのプロパティではなく、代わりに各クラスのプロパティです。
ので、私のコードは次のようになります。
if (shapeVar is Reactangle)
{
(shapeVar as Rectangle).area = value;
}
if (shapeVar is Circle)
{
(shapeVar as Circle).area = value;
}
if (shapeVar is Triangle)
{
(shapeVar as Triangle).area = value;
}
はこれを行うには良い方法はありますか? 私はあるもののあなたは、各形状の面積のプロパティにアクセスするためにリフレクションを使用することができ、.NET 4
お返事ありがとうございます。私はコードをそのまま保ちました。私はリフレクション –