Wednesday, November 7, 2012

C#에서 지네릭 클래스 사용하기

C++에서 템플릿 클래스를 사용하듯이 C#에서도 지네릭 클래스라는 것이 있다.
문제는 지네릭 클래스가 C++의 템플릿 클래스와는 다르다는데 있다.

컨테이너를 만들 때 보통 템플릿을 사용하듯이 C#에서도 지네릭 클래스를 사용한다. 가령

List<int>

List<float>

와 같이 말이다.

혹은 Vector클래스를 만들 때도 지네릭화 할 수 있다.

가령

Vector<int>

Vector<float>

와 같이 쓸 수 있으면 얼마나 좋겠나? C#에서는 안타깝게도 이를 구현하기가 어렵다.
가능은 하다. 다음 문서를 읽어 보자.

http://geekswithblogs.net/Mathoms/archive/2008/08/26/applied-generics--vector-class.aspx

http://www.codeproject.com/Articles/10780/Operator-Overloading-with-Generics

읽고 나서 나는 Vector2DInt, Vector2DFloat를 따로 만들어서 썼다.

차라리 Copy and Paste가 훨씬 쉽고 나중에 C#에서 제대로 지원할 때 지네릭을 사용하는 편이 낫겠다.


No comments:

Post a Comment

Task in UnrealEngine

 https://www.youtube.com/watch?v=1lBadANnJaw