的實例分配給一個派生類的構件的較短版本考慮這個小例子:由基類
public class BaseClass { }
public class DerivedClass : BaseClass { public int Field; }
public static class Program
{
public static void Main(string[] args)
{
BaseClass baseVar = new DerivedClass();
if(baseVar is DerivedClass)
{
var derivedVar = (DerivedClass)baseVar;
derivedVar.Field = 1;
baseVar = derivedVar;
}
}
}
我有很多的這樣的代碼中,如果條件。有沒有這種速記版本,所以我不必創建一個臨時派生變量?
請注意,這種代碼被稱爲代碼異味。嘗試找到一個通用的接口或基類來組合普通的類並嘗試使用這些接口。它不易出錯,減少了維護工作量。 – ckruczek