我使用具有以下類第三部分.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
感謝您的回答。我最終保持了原來的代碼。我不想使用反射 –