比较通用枚举

13 浏览
0 Comments

比较通用枚举

尝试比较通用枚举时,我遇到了编译器错误。一切看起来都很正常,我不知道问题出在哪里。\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();

\nSurfaceIDFloorID只是具有一些字段的枚举类型。

0