[23] 타입 매개변수에 대해 메서드 제약 조건을 설정하려면 델리게이트를 활용하라
다음 본문은 도서 이펙티브 C# (빌 와그너)에서 나오는 주제를 다룹니다. C#에서 제약조건을 설정하는건 한계가 많은 것 처럼 보인다. 우선 제약 조건을 위해 인터페이스를 구현하는 방식을 생각해 볼 수 있다. Add() 메서드를 정의하기 위한 예시 - Add() 메서드를 정의하는 IAdd 인터페이스를 생성 - 이 인터페이스를 제약 조건으로 설정 - IAdd를 구현할 클래스를 생성 - IAdd가 정의한 Add()메서드를 구현 꽤 작업량이 많아지며, 클래스의 기본적인 구조를 해친다. 제약 조건으로 델리게이트 사용하기 제약조건으로 델리게이트를 작성하면 추가적인 작업없이 해결 가능하다. 특정 제네릭 클래스가 T타입의 두 객체를 더하는 메서드를 필요로 하는 경우 System.Func 델리게이트를 사용하면 필요한 ..