Професионална програма
Loading...
+ Нов въпрос
tiapko avatar tiapko 31 Точки

Exercises: Generics ß Problem 10 Custom List Iterator

Здравейте,

Решавам тази задача Exercises: Generics [Problem 10.    *Custom List Iterator]  и промените, които правя (спрямо 9та) са следните:

https://pastebin.com/3MPJrPi7

 

След тази промяна обаче, там където създавам обект (ред 122):

            Generic<string> list = new Generic<string>();
се вдига Error:


Error    CS0311    The type 'string' cannot be used as type parameter 'T' in the generic type or method 'Generic<T>'. There is no implicit reference conversion from 'string' to 'System.Collections.Generic.IEnumerable<string>'.

 

Не мога да успея да разбера, как мога да оправя този проблем. Може ли някой да даде насоки ?

 

Целия код:

https://pastebin.com/GFq5Ap4i

Тагове:
0
C# OOP Advanced 27/03/2017 16:39:52
ppbaev avatar ppbaev 157 Точки
Best Answer

Смени декларацията на класа да стане - public class Generic<T> : IEnumerable<T> where T : IComparable - ще ти го подчератае, ctrl + . и implement interface и оттам си продължаваш. В случая просто връщаш енумератора на List-a и можеш да правиш foreach директно на Generic класа, не че е много custom ама...

Чете се Generic<T> имплементира IEnumerable<T> , където Т е тип, който имплементира IComparable. С предния синтаксис искаш самото Т да имплементира и IComparable и IEnumerable<T>  и затова е невалидно, стринга не е колекция.

0