2
UpdClient.Receive의 매개 변수는 out
대신 ref
매개 변수 인 이유는 무엇입니까?UdpClient.Receive에서 ref 매개 변수가 필요한 이유는 무엇입니까?
MSDN 페이지에 따르면 매개 변수는 데이터 그램을 보낸 주소로 채워집니다. 그러나 그것은 어떤 종류의 입력이 사용되었는지, 출력 만 지정합니다.
UpdClient.Receive의 매개 변수는 out
대신 ref
매개 변수 인 이유는 무엇입니까?UdpClient.Receive에서 ref 매개 변수가 필요한 이유는 무엇입니까?
MSDN 페이지에 따르면 매개 변수는 데이터 그램을 보낸 주소로 채워집니다. 그러나 그것은 어떤 종류의 입력이 사용되었는지, 출력 만 지정합니다.
이것은 (드문 경우) BCL 불일치/불일치 중 하나와 비슷합니다. 이 매개 변수는 메소드에서 입력으로 사용되지 않습니다 (Reflector과 같이).
아마도 항상 그런 것은 아니었고 하위 호환성을 유지하기 위해 out
으로 전환하는 대신 ref
을 계속 사용했습니다.
나는 메서드 시그니처를 유지한다고 생각하지 않지만 funcionality를 변경하면 이전 버전과의 호환성을 유지할 수 있습니다. 그래서, 그들은 호환성을 깨고 서명을 수정하는 것을 잊어 버렸습니다 (매우있을 법하지 않음), 또는 항상 그렇게했습니다 ... –