Вариант использования для ограничения типа перечисления F #? - PullRequest
4 голосов
/ 10 сентября 2010

Согласно документации, ограничение типа перечисления в форме : enum<underlying-type> "не предназначено для общего использования".Для какого необычного использования это предназначено?

1 Ответ

3 голосов
/ 10 сентября 2010

Первое, что приходит на ум, - это обернуть членов System.Enum строго типизированными обертками:

// gets all underlying values for which an enum is defined
let definedVals<'a, 'b when 'a : enum<'b>> = 
  System.Enum.GetValues(typeof<'a>) 
  |> Seq.cast<'a> 
  |> Seq.map (LanguagePrimitives.EnumToValue)

let ints = definedVals<System.ConsoleColor,_>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...