제너릭 메서드에 대해서 소개합니다.
제너릭 이란?
저장하거나 사용하는 하나 이상의 형식에 대한 자리 표시자(형식 매개 변수)를 포함하는 클래스, 구조체, 인터페이스 및 메서드라고 정의되어 있는데,
쉽게 말하자면,
한 가지 기능(클래스, 구조체, 인터페이스, 메소드)에 여러 형식(문자열, 숫자, 객체 등등)을 받고 싶다! 라고 생각하시면 됩니다.
예를 들어 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, "문자키", "");
반응형
'개발 > C#' 카테고리의 다른 글
응용 프로그램이 미리 컴파일되었으므로 "{폴더}" 디렉터리를 사용할 수 없습니다. (0) | 2022.10.28 |
---|---|
IIS 401 에러가 발생하였을 경우 체크사항 (0) | 2022.08.03 |
C# Url Combine (0) | 2022.06.10 |
IIS Module 추가로 Body Log 추가하기 (0) | 2022.05.03 |
IIS 폼 인증 공유(.Net Framework) (0) | 2022.03.17 |
댓글