2017-06-20 48 views
0

如何在不同條件下返回類對象。根據條件返回類對象

假設我的結果是成功返回認證,否則返回類錯誤。

public Class Example 
{ 
    public Authentication GetDetails(int id) 
    { 
     Authentication objAuth = new Authentication(); 

     if(id==100) 
     { 
      return objAuth ; 
     } 
     else 
     { 
       ClassB objB=new ClassB(); 
       return objB; 
     } 
    } 
} 

static Void Main() 
{ 
    Example obj = new Example(); 
    obj.GetDetails(); 
} 
+8

您應該使用例外。 – SLaks

+1

您正在重塑一個方形的車輪。如果認證失敗,請考慮拋出異常。 –

+0

至於常見場景中的例外https://docs.microsoft.com/en-us/dotnet/standard/exceptions/best-practices-for-exceptions#handle-common-conditions-without-throwing-exceptions –

回答

1

您的函數需要是兩個對象都從中繼承的返回類型。如果他們沒有共同的基類,那麼它將不得不具有返回類型的Object。我會補充說,如果他們不從一個共同的父母繼承,那麼你可能應該以不同的方式編碼。你不想調用函數需要找出他們回來的對象類型。如果你提供更多關於你想要做什麼的細節,那麼人們可以幫助你指導一個更好的方向。以上意見表明拋出異常可能是您應該進入的方向。

+0

感謝您的回覆。很抱歉混淆寫ErrorMessage類。讓我們假設如果我的條件不滿足,我想返回B類對象。 –