2010-05-19 16 views
15
[<Flags>] 
type LikeMatch = 
    | None = 0 
    | Start = 1 
    | End = 2 
    | All = Start ||| End //ERROR: Unexpected identifier in union case 

También intenté calificar a los miembros con el tipo enum. ¿Hay alguna manera de hacer esto en F #?Enum (flags) miembro compuesto por otros miembros

Respuesta

26

Como dice JaredPar no está permitido por el lenguaje, pero F # tiene literales binarios que hacen que sea fácil mostrar qué bits se están estableciendo:

open System 

[<Flags>] 
type LikeMatch = 
    | None = 0b000000000 
    | Start = 0b000000001 
    | End = 0b000000010 
    | All = 0b000000011 
+1

Ah, sí Me había olvidado de eso. Gracias por el recordatorio. – Daniel

Cuestiones relacionadas