2012-06-27 61 views
3

我有這樣的方法......是否可以忽略'out'參數?

public List<String> TestMethod(Int32 parameter, out Boolean theOutParameter) 
{ 
} 

當我調用該方法,如果我在theOutParameter不感興趣什麼會調用該方法是什麼樣子?看起來有點過分,只需要實例化一個新的bool,這樣如果我對該值不感興趣,就可以處理方法的out參數。

回答

6

沒有,但你可以添加一個過載:

public List<string> TestMethod(int parameter) 
{ 
    bool tmp; 
    return TestMethod(parameter, out tmp); 
} 
+0

謝謝。如果沒有其他解決方法,我將創建臨時變量並與之一起使用。 –

3

是否有可能desregard '出' 參數?

不,你不能。

2

您可以選擇返回自己的列表,該列表包含指定是否有更多結果的屬性

public class QueryResult:List<string> 
{ 
    public bool HasMoreResults{get;set;} 
} 

public QueryResult TestMethod(Int32 parameter) 
{ 
    QueryResult res; 
    //create list, filling, etc. 
    //instead of setting the out, set the parameter 
    res.HasMoreResults = .... 
} 
+0

您是否想要從簽名中移除'theOutParameter'? –

+0

@MarcGravell哎呀,你是對的,在接電話時複製/粘貼的危險。感謝大家的支持,我修改了代碼 –