問題1>我應該在下面的情況下檢查NULL嗎?當我們將IClass轉換爲Class時,我們應該檢查NULL嗎?
public interface INewClass {}
public class NewClass : INewClass {}
public void FunMeA(INewClass obj)
{
NewClass n = (NewClass) obj;
... // Should I check (n == null) here?
// call methods defined inside INewClass (updated from NewClass to INewClass)
...
}
A concrete example,
public void FunMeB(IAsyncResult itfAR)
{
AsyncResult ar = (AsyncResult) itfAR;
... // Should I check (ar == null) here?
// access ar.AsyncDelegate
...
}
問題2>我剛剛開始從C++轉移到C#。當使用C++進行編碼時,我知道何時應該完成檢查。然而,我完全迷失在C#世界中。所以問題是:有沒有 一個可以告訴我什麼時候我必須檢查NULL的一般規則?
謝謝
如果這些方法在INewClass接口上定義的,你爲什麼鑄造呢? – Massif 2011-05-27 15:23:27
只需在使用函數之前檢查對象是否爲NULL。理想的情況是,當你使用該方法時,對象不能爲空,因爲它是你程序運行所必需的。 – 2011-05-27 15:28:25