比较通用枚举
比较通用枚举
尝试比较通用枚举时,我遇到了编译器错误。一切看起来都很正常,我不知道问题出在哪里。\n错误信息:Operator == cannot be applied to operands of type T and T
\n
public class SpriteLink{ public T id; public Sprite sprite; public SpriteLink(T id, Sprite sprite) { this.id = id; this.sprite = sprite; } } public class LinkList { public List > links = new List >(); public bool Contains(T id) { links[0].id = id; // 编译器在这一行通过,没有任何错误 return links.Any(link => link.id == id); // 但是在这里抛出编译器错误(为什么?) } public bool Set(T id, Sprite sprite) { if (!Contains(id)) { links.Add(new SpriteLink (id, sprite)); return true; } return false; } } public LinkList surfaceLinks = new LinkList (); public LinkList floorLinks = new LinkList ();
\nSurfaceID
和FloorID
只是具有一些字段的枚举类型。