비 사전 신고 의무 변수 I는이 같은 서명 메소드 호출더미 밖으로
public int GetStuff(String a, Object b) { ... }
과 내가 어떤 식 으로든 B을 취급하지 않습니다 알고, 나는 그것을 호출 할 수 있습니다 다음과 같은 방법 :
int out = GetStuff("bzzz", null) { ... }
및 널를 사용하여 "가짜"입력. 내 질문은 거기에 출력 매개 변수에 상응하는 그래서 만약 내가 어쨌든 그것을 사용하지 않아도 미리 그것을 선언하지 않아도됩니다. 필요가 없다 더미를 증명하기 위해
Object output;
DoStuff("pling", out b) { ... }
하지만 난 결코 출력을 사용하지 않고있어 이후로, 내가 좋아하는 것 :
public void DoStuff(String a, out Object b) { ... }
아래의 예는 너무 같은 두 개의 라인을 전화하라고 요구 미리 선언해야한다. 가능한가?
1)과 같은 하나의
String
매개 변수를 받아들이는 방법의 과부하를 만들 수 없습니다, 방법의 설계에 뭔가 문제가있다. 2) C# 6이 조금 도움이 될 것입니다. (적어도 내부에는 그다지 많지 않습니다.) –@DavidPilkington 나는 네가 어떻게 생겼는지 안다. 이 특별한 경우에는 방법에 문제가 없습니다. 가져온 레코드 수를 반환하는 데 사용됩니다. 지금은 한 번에 하나씩 하나씩 가져 오기위한 테스트를 작성하고 있습니다. 그래서 출력은 항상 1과 같습니다. 나는 외계인의 사전 선언을 합리화하기를 희망했습니다. –
재개시 : 지금까지는 아무 이유도 없습니다. C# 6에서 변경된 사항이 있더라도 실제로 업데이트 된 솔루션을 제공하려는 경우 - 연결된 복제본에 새로운 대답을 추가하십시오. (내가 2 가지 질문의 차이를 완전히 놓치지 않는다면). –