2013-12-13 1 views
3

유형 공급자를 사용하여 버전이 지정된 API를 만들었습니다. 여기서 가장 최신 버전보다 이전 버전의 구성 요소를 선택할 수 있습니다. 그 차이를 만드는 경우F # 유형 공급자에서 동일한 유형의 별칭을 여러 개 만들 수 있습니까?

Provided.ComponentName.VersionName(... this is the type constructor ...) 

ComponentName이 순간에 네임 스페이스 : 순간

, 그것은 같이 보입니다 네임 스페이스에 다음을 넣습니다.

Provided.ComponentName.Latest(... constructor ...) 

을 정적 방법 또는 가장 최근의 인스턴스를 반환하는 타입 별칭 중 하나 같이 내가 구성 요소의 모든 특정 버전을 구축하면

, 또한 노출하고 싶습니다 번역.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

3

F # 형식 별칭 (특정 버전의 별칭 Latest 별칭을 사용하는 좋은 방법)을 생성하는 방법이 있다고 생각하지 않습니다.

대신에 VersionName을 중첩 형식으로 생성하고 Latest을 해당 형식의 적절한 버전을 반환하는 정적 메서드로 생성 할 수 있다고 가정합니다. 이렇게하려면 ComponentName는 유형이 다른 유형을 포함 할 것 & 하나의 정적 방법 :

// Creates an instance of `VersionName` 
// (a nested type of `ComponentName`) 
Provided.ComponentName.VersionName(....) 

// Creates an instance of `SomeVersionName` type 
// (a static method of the `ComponentName` type) 
Provided.ComponentName.Latest(....) 

이에 대한 유일한 추한 것은 VersionName는 유형 (그리고 new을 사용하여 만들 수 있습니다) Latest가있을 것입니다 정적 메서드이므로 new과 작동하지 않습니다.

+0

고마워요. 토마스. 별칭을 사용할 수 없다는 동정. – mavnn

관련 문제