C#일반 메소드 제약 조건은 수치 유형으로만 제한 될 수 있습니까? <..> 소개
일반 유형 제한의 제약 키워드 C#
키워드를 사용하면 개발자가 일반 매개 변수의 제약 조건을 지정할 수 있습니다. 제약 조건은 유형 매개 변수가 특정 인터페이스를 구현하거나 특정 기본 클래스를 상속 받도록하는 데 사용될 수 있습니다.기존 숫자 인터페이스 불행히도 C#은 Int16, Int32, Int64, UINT16, UINT32 및 UINT64 유형을 전문으로하는 인터페이스를 제공하지 않습니다. 따라서 키워드는 일반 매개 변수를 이러한 특정 유형으로 제한하기 위해 직접 사용할 수 없습니다. 대체 방법
대안으로 다음 방법을 고려하십시오 :인터페이스 : net 7은 이름 공간에 인터페이스를 소개했습니다. 이 인터페이스는 모든 이진 정수 유형이 유형 매개 변수를 정수 유형으로 제한하는 데 사용될 수 있음을 나타냅니다. 공장 모드 : Anders Hejlsberg가 권장하는 것처럼 공장 모드를 사용하여 다양한 수치 유형을 지원하는 행렬을 만들 수 있습니다. 이 방법에서는 a 인터페이스가 정의되고 행렬은이 인터페이스의 인스턴스를 매개 변수로 사용합니다. 전략 클래스 : 또 다른 선택은 공개 인터페이스의 구현을 사용하고 특정 구현을 제공하는 전략적 클래스를 제공하는 것입니다. 이러한 전략은 매트릭스로 전달되어 다른 수치 유형을 지원할 수 있습니다.
where
결론
위 내용은 C# 일반 메소드 제약 조건이 유형 인수를 특정 숫자 유형으로 제한 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!