본문 바로가기
개발/C#

C# 제네릭 메서드

by 혈중마라농도 2023. 7. 21.

제너릭 메서드에 대해서 소개합니다.

제너릭 이란?
저장하거나 사용하는 하나 이상의 형식에 대한 자리 표시자(형식 매개 변수)를 포함하는 클래스, 구조체, 인터페이스 및 메서드라고 정의되어 있는데,
쉽게 말하자면,
한 가지 기능(클래스, 구조체, 인터페이스, 메소드)에 여러 형식(문자열, 숫자, 객체 등등)을 받고 싶다! 라고 생각하시면 됩니다.

예를 들어 Dictionary에 문자열 타입과 숫자타입이 공존한다고 치면, 아래와 같은 메서드를 사용할 수 있습니다.

 
public static T GetValue<T>(Dictionary<string, object> dictionary, string key, T defaultValue = default(T))
{
    try
    {
        if (dictionary.ContainsKey(key))
        {
            object value = dictionary[key];
            if (value == null) return defaultValue;
            return (T)value;
        }
        else
        {
            return defaultValue;
        }  
    }
    catch (Exception)
    {
        // 에러가 나면 defaultValue 리턴
        return defaultValue;
    }
}

// 테스트용 데이터
Dictionary<string, object> dic = new Dictionary<string, object>();

dic.Add("문자키", "문자야");
dic.Add("숫자키", 12);

// 사용예제
int 숫자 = GetValue<int>(dic, "숫자키", 0);
string 문자 = GetValue<string>(dic, "문자키", "");

 

반응형

댓글