Flex로 ActionScript 프로그래밍을 하다 보면 아래와 같은 메소드 선언을 많이 볼수 있습니다.
Flex로 ActionScript 프로그래밍을 하다 보면 아래와 같은 메소드 선언을 많이 볼수 있습니다.
public function hitTestPointer(x:Number, y:Number, shapFlag:Boolean = false): Boolean |
Parameter 값에 Default 값을 넣어 사용하는 것은 ActionScript로 작업하고 있는 저로는 익숙한 표현이었지만, 가끔 다른 언어를 사용하다 보면 이런 표현이 있었으면 좋겠다고 생각했는데, 마침 C# 4.0에서 이런 문법을 사용할 수 있게 되었습니다. 위 코드 처럼 Boolean 타입인 shapFlag 의 값에 false 값을 넣어주는 것을 Optional Parameter 라고 하고, Default Parameter라고 부르기도 하더군요.
(지금 코드는 C#입니다)
(지금 코드는 C#입니다)
public class Test
{
public bool hitTestPointer(float x, float y, bool shapeFlag = false)
{
.....................
}
}
|
그런데, Actionscript 와 차이점이 있다면, Parameter의 위치를 사용자가 원하는 대로 바꿀 수 있다는 점입니다. 예를 들어 Actionscript의 경우 Optional parameter 의 선언은 일반 parameter 뒤 이거나, 아니면, 전부 Optional parameter 로 선언해야 합니다.
예들 들어
예들 들어
Actionscript )하지만, C# 4.0 에서는 Named parameter 로 이 문제를 해결할 수 있습니다.
hitTestPointer( 10, 10) ------------> OK
hitTestPointer( 10, false, 10) ---------> Error
hitTestPointer( 10, false) ------------> Error
C# 4.0 )두번째 포스팅 하는 건데, (첫번째 포스팅은 내용에 맞지 않아 삭제함) 공부하다 제가 느낀 점만 간단히 적다보니 제대로 내용이 전달 되는 건 지 모르겟습니다. 관심 분야는 RIA 인데, C# 4.0 공부를 않 할 수가 없더라고요. 제 공부방향은 C# 4.0 의 내용을 파악한 뒤에 RIA 쪽으로 넘어가는 겁니다. 그런데, 아직 3.5 도 제대로 잘 모른다는... 어여튼 열심히 ^^
hitTestPointer( 10, 10) ------------> OK
hitTestPointer( x: 10, shapFlag: false, y: 10) ---------> OK
hitTestPointer( x: 10, shapFlag: false) ------------> Error (y는 Optional Parameter 가 아님)
'C#' 카테고리의 다른 글
Welcome to Dynamic C#(2) - Wanna be a polyglot. (2) | 2009.05.17 |
---|---|
Welcome to Dynamic C#(1) - 첫만남. (1) | 2009.05.04 |
[C# 4.0] Generic Covariance And Contra Variance (5) | 2009.04.13 |
[C# 4.0] New Extension Method “Zip” (1) | 2009.04.08 |
[C# 4.0] Duck Typing (6) | 2009.04.06 |