MC, 13:28 piątek, 03.08.2012 r.
Ilustracja do artykułu: .NET - Rozwiązanie problemu: The non-generic type 'System.Collections.IEnumerable'...

.NET - Rozwiązanie problemu: The non-generic type 'System.Collections.IEnumerable'...

Kilka słów na temat przyczyn błędu "The non-generic type 'System.Collections.IEnumerable' cannot be used with type arguments" oraz jego rozwiązaniu.

Co powoduje błąd z IEnumerable?

Usiłowałem ostatnio stworzyć obiekt IEnumerable przechowujący kolekcję innych obiektów. Sam IEnumerable był rozpoznawalny w dostępnych przestrzeniach nazw, jednak jego sparametryzowana postać IEnumerable<> powodowała błąd, który przytoczyłem we wstępie. Przyznam, że nieco zgłupiałem w pierwszej chwili. Dopiero po czasie zerknąłem w listę namespace-ów, których używałem w budowanej klasie i zauważyłem, że owszem przestrzeń System.Collections jest użyta, ale System.Collections.Generic już nie. I w tym rzecz.

Obiekt IEnumerable znajduje się w dwóch przestrzeniach nazw: System.Collections.IEnumerable oraz System.Collections.Generic.IEnumerable, przy czym druga jest sparametryzowana (generic type). Dlatego jeśli chcemy używać IEnumerable<> musimy zadbać, by niezbędna przestrzeń nazwa System.Collections.Generic również została użyta.

using System.Collections.Generic;
Ot i cały problem ;)

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: