C#

일반화

가게주인 2022. 6. 15. 13:51

제네릭은 일반화라고 하며, 공통적으로 사용되는 부분을 추상화한 것을 의미한다.

public static T DeepCopy<T>(this T value) where T : class, new()
{
	T clone = new T();
    //리플렉션 영역
    return clone;
}

where T : class, new()  : T타입이 class이고 new 생성자라는 것을 알려줌

 

where T : Component  : T타입이 Component임. T라는 자격이 가져야 하는 최소 조건.

 

현재 주석 처리한 리플렉션 영역이 구현되면 T타입으로 웬만한 건 다 확장 메소드로 이용 가능함.