본문 바로가기

Software/C#.Net

[C#]Generics

Generic Classes
generic class는 살제 클래스는 아니다, 클래스들에 대한 template이다.
Generic Type의 생성 순서
1. Generic type의 선언
2. 실제 type으로 생성된 Generic Type을 생성한다.
3. 생성된 Generic Type으로 instance를 생성한다.

Declaring a Generic Class
                    Type parameters
                               ↓
                            ------
class SomeClass < T1, T2 >
{ Normally, types would be used in these positions.
          ↓                         ↓
public T1 SomeVar = new T1();
public T2 OtherVar = new T2();
}         ↑                         ↑
Normally, types would be used in these positions

Creating a Constructed Type

              Type arguments
                       ↓
                 ___________
SomeClass< short, int >

첫째 줄의 myInst는 Null값임.
둘째 줄에서 힙 메모리에서 메모리 할당 한 후, reference로 assign함.