F# équivalent du C# typeof(IEnumerable<>)

J'ai un morceau de code où j'ai besoin de comprendre si un type donné, il met en œuvre IEnumerable<T> (je n'aime pas à propos de le T)

J'ai essayé (t:System.Type dans le cas où vous vous demandez)

let interfaces = t.GetInterfaces()
let enumerbale = 
    interfaces.Any(fun t -> 
        t.GetGenericTypeDefinition() = typeof<IEnumerable<>>
    ) 

cependant qui ne compile pas (la compilation n'aime pas les <>). J'ai ensuite essayé

let interfaces = t.GetInterfaces()
let enumerbale = 
    interfaces.Any(fun t -> 
        t.GetGenericTypeDefinition() = typeof<IEnumerable<'a>>
    )

mais un avertissement que " a est contrainte à l'obj. Je Ne veux pas savoir si IEnumerable<obj> est mis en œuvre, mais IEnumerabl<>.

Tout savoir de la solution et btw, n'hésitez pas à commenter le code ci-dessus.

InformationsquelleAutor Rune FS | 2010-03-19