반응형

C# 제네릭 (C# Generics)
클래스 또는 메서드(함수)를 선언하고 인스턴스화 할때까지 하나이상의 형식을 따르는 클래스나 메서드(함수)를 디자인할 수 있도록 형식 매개 변수 개념을 도입할 수 있습니다. 

 

보통 사칙연산등에서 변수타입에서 관련 없이 함수의 매개변수에 값을 넣어 다용도로 사용할 수 있게 만들기 위해 사용합니다.
C++에 템플릿하고 비슷한 역할을 수행합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class AAAA<T>
    {
        public void print(T value)
        {
            Console.WriteLine(value);
        }
        
    }
    class Program
    {
        static void Main(string[] args)
        {
            AAAA<int> aaaaInt = new AAAA<int>();
            aaaaInt.print(1);
            AAAA<string> aaaaString = new AAAA<string>();
            aaaaString.print("AAAAA");
        }
    }
}
 
 

위 예제는 클래스 함수에 템플릿을 사용한 예를 보여줍니다.
int형과 string형에 관련없이 해당 값을 출력할 수 있도록 구현되었습니다.

반응형

'개발공부 > C#' 카테고리의 다른 글

[C#] 람다식(Lambda expressions)  (0) 2019.10.21
[C#] 무명 메서드(anonymous method)  (0) 2019.10.20
[C#] 인덱서(Indexer)  (0) 2019.10.18
[C#] 이벤트(event) & 델리게이트(delegate)  (0) 2019.10.17
[C#] delegate  (0) 2019.10.16

+ Recent posts