Mam kawałek kodu, w którym muszę dowiedzieć się, czy dany typ implementuje IEnumerable<T>
(Nie dbam o T)F # odpowiednik C# typeof (IEnumerable <>)
Próbowałam (t:System.Type
w przypadku wątpliwości)
let interfaces = t.GetInterfaces()
let enumerbale =
interfaces.Any(fun t ->
t.GetGenericTypeDefinition() = typeof<IEnumerable<>>
)
jednak, że nie będzie kompilować (kompilacja nie lubi <>). Następnie wypróbowałem:
ale otrzymuję ostrzeżenie, że "a jest ograniczeniem dla obj. Nie chcę się dowiedzieć, czy zaimplementowano IEnumerable<obj>
, ale IEnumerabl<>
.
Każdy wie, na czym polega rozwiązanie i przy okazji może również skomentować powyższy kod.
http://stackoverflow.com/questions/1652050/generic-type-definition- Składnia-na-f –