У меня есть кусок кода, в котором мне нужно выяснить, реализует ли данный тип IEnumerable<T>
(меня не волнует T)
Я пытался (t:System.Type
, если вам интересно)
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<>>
)
однако это не скомпилируется (компиляция не похожа на <>). Я тогда попробовал
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<'a>>
)
но get - это предупреждение, что a является ограничением для obj. Я не хочу выяснять, реализован ли IEnumerable<obj>
, но IEnumerabl<>
.
Любой, кто знает, является решением, и, кстати, не стесняйтесь комментировать и приведенный выше код.