잊지 않겠습니다.

Visual Studio 2010과 더불어서 같이 준비중인 C# 4.0에서의 새로운 기능들을 간단히 알아보려고 생각중. 

참고 자료 사이트는

http://code.msdn.microsoft.com/csharpfuture


기본 테마

C# 4.0은 Dynamic programming을 기본 Theme로 가지고 있다.

Dynamic Programming언어라고 할 수 있는 Python이나 Ruby정도까지는 아니지만, Compile 할때가 아닌 Runtime시에 자신의 type을 결정할 수 있는 방법으로 구현되고자 한다.  이러한 Dynamic의 예는 다음과 같은 수 있다. 

1. Python이나 Ruby와 같은 Dynamic Programming language에서 생성된 object

2. IDispatch를 통해 구현된 COM objects

3. refrection을 통해 구현된 .NET framework의 객체들

4. 구조체가 변경된 object. (HTML DOM object)

    

C# 4.0의 주요한 기능은 다음과 같다.

1. Dynamic lookup

:  C#의 runtime시에 object의 type이 결정되게 된다.

2. Named and optional parameters

: C#에서의 각 parameter들은 각각의 기본값을 가질수 있다.

  ( C++에서의 기능과 동일하게 생각하면 된다. 왜 이제서야 구현이 되었는지 모르겠는 아주 편한 기능. 이 기능 하나로 많은 overload를 없애는 것이 가능하다.)

: C#에서의 각 parameter들은 각각의 이름을 가지고 값의 입력이 가능하다.

  ( python이나 javascript에서 간간히 나오는 dictionary 입력과 비슷한 함수의 호출이 가능하다. ) 

3. COM specific interop feature

: .NET Framework에서의 COM object의 interop의 개선 및 향상 

4. Variance 

: IEnumerable의 Interface 변경이 이루어졌다. (이건 좀 큰문제가 발생할 수 도 있을것 같은 생각이 든다. List<object> 등 IEnumerable의 Interface는 너무나 많은 곳에서 사용되고 있는데.. 이 부분은 어찌 해결이 될지..;)



Posted by Y2K
,