> 백엔드 개발 > C++ > C# 일반 메소드 제약 조건이 유형 인수를 특정 숫자 유형으로 제한 할 수 있습니까?

C# 일반 메소드 제약 조건이 유형 인수를 특정 숫자 유형으로 제한 할 수 있습니까?

Susan Sarandon
풀어 주다: 2025-02-01 23:31:11
원래의
320명이 탐색했습니다.

C#일반 메소드 제약 조건은 수치 유형으로만 제한 될 수 있습니까? <..> 소개 Can C# Generic Method Constraints Restrict Type Arguments to Specific Numeric Types?

프리를 사용하면 프로그래머가 여러 데이터 유형에서 작동 할 수있는 유형을 정의 할 수 있습니다. 그러나 때로는 일반 유형의 유형을 제한해야 할 수도 있습니다. 이 질문은 일반 매개 변수를 특정 값 유형으로만 제한 할 수있는 방법이 있는지 여부를 탐색합니다.

일반 유형 제한의 제약 키워드 C#

키워드를 사용하면 개발자가 일반 매개 변수의 제약 조건을 지정할 수 있습니다. 제약 조건은 유형 매개 변수가 특정 인터페이스를 구현하거나 특정 기본 클래스를 상속 받도록하는 데 사용될 수 있습니다.

기존 숫자 인터페이스 불행히도 C#은 Int16, Int32, Int64, UINT16, UINT32 및 UINT64 유형을 전문으로하는 인터페이스를 제공하지 않습니다. 따라서 키워드는 일반 매개 변수를 이러한 특정 유형으로 제한하기 위해 직접 사용할 수 없습니다. 대체 방법

대안으로 다음 방법을 고려하십시오 :

인터페이스 : net 7은 이름 공간에 인터페이스를 소개했습니다. 이 인터페이스는 모든 이진 정수 유형이 유형 매개 변수를 정수 유형으로 제한하는 데 사용될 수 있음을 나타냅니다. 공장 모드 : Anders Hejlsberg가 권장하는 것처럼 공장 모드를 사용하여 다양한 수치 유형을 지원하는 행렬을 만들 수 있습니다. 이 방법에서는 a 인터페이스가 정의되고 행렬은이 인터페이스의 인스턴스를 매개 변수로 사용합니다. 전략 클래스 : 또 다른 선택은 공개 인터페이스의 구현을 사용하고 특정 구현을 제공하는 전략적 클래스를 제공하는 것입니다. 이러한 전략은 매트릭스로 전달되어 다른 수치 유형을 지원할 수 있습니다. where 결론

C#은 제약 조건별로 특정 값 유형으로 일반 매개 변수의 제한을 직접 지원하지는 않지만 인터페이스, 공장 모드 및 전략 대안 방법을 사용하여 필요한 기능을 달성 할 수 있습니다.

위 내용은 C# 일반 메소드 제약 조건이 유형 인수를 특정 숫자 유형으로 제한 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿