Re[5]: Круговые ссылки в генериках
От: Sharov Россия  
Дата: 02.02.18 19:36
Оценка:
Здравствуйте, gamburger, Вы писали:


G>В случае циклич. зависимости

G>
G>class Q1 : Q2
G>{ }
G>class Q2 : Q1
G>{ }
G>

G>компилер пишет:
G>Циклическая зависимость базового класса включает "Q2" и "Q1"

G>А в моем случае он пишет совсем не то.


По сути тоже самое, но другими словами.

G>Как сделать такую схему?


public interface IEatableBy<TEater>
where TEater : Entity
{
void BeEatenBy(TEater animal);
}


public class Entity
{

}
public class Animal : Entity { }

public abstract class Animal<TVictim>
//моя жертва съедаема мной самим
where TVictim : IEatableBy<Entity>
{
/// <summary>
/// жертвы
/// </summary>
protected HashSet<TVictim> Victims;
}


Либо убрать ограничение у интерфейса, что логичнее. Пожирается кем-то или чем-то, ну и ладно.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.