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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.