1
단식 또는 복식 만 수락 할 VB.NET에서 일반을 정의하는 방법이 있습니까? 몇 가지 가능한 값 유형을 사용할 수있는 제네릭을 정의 할 수 있습니까? (VB.NET)
나는 내가 온라인으로 발견 한 내용을 바탕으로 다음과 같은 일을 시도했지만 아무도 컴파일 : 나는target
가 또는 만
Double?
이 될 수 있습니다 지정하려면
Dim target As Nullable(Of {Single, Double})
Dim target As Nullable(Of T As {Single, Double})
Dim target As Nullable(Of T {Single, Double})
Dim target As Nullable(Of Single, Double)
Dim target As Nullable(Of T As Single, Double)
.
근본적인 Integral 및 Numeric 유형의 부족은 실제 고통입니다. 나는 그들이 연결 당 미래 버전을 위해 그것을 추가하는 것을보고 있다는 것을 알고있다. 나는 당신이 제안하는 것처럼 여러 함수 호출을 사용하는 것을 생각하지 않았다. 아마도 그것이 가능한 최선의 아이디어일지도 모른다. 제네릭 매개 변수를 제외하고 동일한 서명으로 모두 2, 3 또는 그 이상의 함수를 작성하지 않아야하는 방식을 기대했습니다. – eidylon
은 새로운 대답이 의미가 있다는 것을 재고하고 희망을 가졌습니다. – Jodrell
음, 아니. 'Of T As {Double, Single}'은 ** BOTH **'Double'과'Single'를 동시에 묘사합니다. 물론 불가능합니다. "다중 제약 조건"절은 모든 제약 조건이 참 ("And")이되도록 요구하며, 제약 조건 중 어느 하나가 참이라고 ("또는") 의미하지 않습니다. 따라서 정답은'아니요, 여러 가능한 숫자 유형을 사용할 수있는 제네릭 제약 조건을 정의 할 수있는 방법이 없습니다. 'Nullable을 사용하는 것과 아무런 관련이 없습니다. 이것은 하나의 메소드 나 함수보다는 CLASS (Of T)를 생성하고자 할 때 특히 짜증 스럽습니다. 닷넷에는 'Numeric'베이스 타입이 없습니다. – ToolmakerSteve