2011-05-01 4 views
3

나는 이것에서 혼자일지도 모르다; 하지만 나는 항상 .NET에서 당신이 함수를 호출 할 때 메소드와 같은 순서로 값을 전달해야한다는 인상하에있었습니다.이름 별 또는 주문 별 매개 변수?

예 :

DoSomething(B:="Second Param", A:="First Param") 

내 질문은 바보 하나가 될 수 있지만 가장 좋은 방법은 무엇입니까 : 나는 최근에 당신이 이름으로 PARAMS을 지정할 수 있습니다 배운

Public Sub DoSomething(ByVal A as String, ByVal B as String) 
End Sub 

DoSomething("First Param", "Second Param") 

? 필자가 지금까지 본 모든 것은 올바른 순서로 매개 변수를 가진 메서드를 호출하는 것입니다. VB에서 오래된 명명 된 컨벤션입니까? 모든 메서드 호출에서 : = 구문을 사용한다면 다음 코드 검토 중에 사람들이 웃을 것입니까?

당신이 사용하는 예제가 있습니까? = = 실제로 의미가 있습니까? 아니면 항상 선호하는 것입니까?

답변

3

here을 아직 보지 않았다면 (C#, 동일한 원리라고 생각했습니다.) 한번보세요.

기본적으로 명명 된 매개 변수는 선택적 인수로 작업하기가 쉽도록 설계되었습니다. 3 개의 필수 매개 변수와 12 개의 선택적 매개 변수 (일부 COM API 등)가있는 메소드가 있다고 가정하십시오. 선택적 매개 변수 중 하나를 무시하고 나머지는 기본값으로 두는 것이 좋습니다. 명명 된 매개 변수를 사용하면이를 수행 할 수 있습니다. 대안은 대체에 신경 쓰지 않는 인수에 null 또는 Type.Missing을 전달하는 것입니다.

여기에도 관련 질문이 있습니다 : Usage of named parameters (다시 C#, 원칙은 동일).

1

은 ...

대신

(3600, null, null, null, null, null, null, null, "id") 

의 당신이

여기
(time:=3600, target:="id") 

가 사용할 수있는 MVC 뷰에 캐시 속성과 같은 명명 된 매개 변수를 사용하는 것이 합리적 몇 가지 방법이 있습니다 다른 예 :

send just what you need method

기본적으로 필요할 때만 사용할 수 있습니다. 선택 매개 변수입니다 ...

+0

정말 멋진 예인 스크린 샷을위한 소품입니다. – R0MANARMY

관련 문제