C# 및 VB에서 형식 매개 변수는 형식 매개 변수의 분산을 나타내는 데 사용됩니다.C# 및 VB의 형식 매개 변수 변형에 대한 구문 선택
interface Foo<in X, out Y> { }
와 VB 버전은 다음과 같습니다 : 예를 들어, C# 버전과 같은 보이는 분산 사양은 기본적으로 제한 장소와 형식 매개 변수를 사용하는 방법, 내가 생각하는 경향이 있기 때문에
Interface Foo(Of In X, Out Y)
End Interface
유형 매개 변수에 대한 추가 제한 조건으로 사용됩니다.
나는 그들이 왜 그렇게 대변하지 않는지에 대해 궁금합니다. 즉, 형식 제약 조건 목록에 추가되는 대신 형식 매개 변수에 대한 추가 수정 자로 두 언어로 표현되는 이유는 무엇입니까?
interface Foo<X, Y> where X:in where Y:out { }
와 VB 버전은 같은 검토 한 것이다 : 그들은 형 제약 인 경우는 C# 버전과 같은 검토 한 것 몇 가지 추론 뒤에이 있다면
Interface Foo(Of X As In, Y As Out)
End Interface
그래서 누구나 알고 있나요 이러한 언어로 형식 매개 변수의 분산을 표현하기위한 특정 구문 선택, 아니면 그냥 임의였습니까?
예. 나는 현재의 구현이 더 깨끗해 보인 것에 동의하며, 나는 그것에 대해 아무런 문제가 없다. 그러나 이것들이 단지 추가적인 제약이라면, 빈번히 사용되지 않는 한 특별한 장소를주는 것은 의미가 없습니다. 유형 매개 변수 분산은 정말 좋은 기능이지만 특수 구문을 보증 할만큼 자주 사용하는 것은 상상할 수 없습니다. 그래서 매개 변수 제약 유형으로 취급하는 것이 잘못 됐는지 궁금합니다. – CodeMangler
이것들은 타입 매개 변수의 제약 조건이 아닙니다. 그러나 이것들을 타입의 제약으로 생각하지 않습니다. –