2012-06-27 3 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

감사합니다. temp var를 만들고 그 주위에 다른 방법이 없다면 그걸로 갈 것입니다. –

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 당신이 맞아요, 전화를받는 동안 복사/붙여 넣기의 위험성이 있습니다. 머리가되어 주셔서 감사합니다. 코드를 변경했습니다. –