C# 在接口中定义方法

C# 在接口中定义方法,c#,interface,xna,C#,Interface,Xna,首先让我为问了这么多愚蠢的问题而道歉。我刚从c#开始,试着了解类/接口和继承。在这个例子中,我有三个类共享一个接口。像这样, public class Platform : IGraphic { public GraphicType Type; public string Name; public Texture2D Icon; public string GetName() { return Name; }

首先让我为问了这么多愚蠢的问题而道歉。我刚从c#开始,试着了解类/接口和继承。在这个例子中,我有三个类共享一个接口。像这样,

public  class Platform : IGraphic
{
    public GraphicType Type;        
    public string Name;
    public Texture2D Icon;

    public string GetName()
    {
        return Name;
    }

    public Texture2D GetIcon(GraphicType a_type)
    {
        if (a_type == Type || a_type == GraphicType.CHARACTERS)
            return Icon;
        else
            return null;
    }

}

public class Decal : IGraphic
{
    public GraphicType Type;        
    public string Name;
    public Texture2D Icon;

    public string GetName()
    {
        return Name;
    }

    public Texture2D GetIcon(GraphicType a_type)
    {
        if (a_type == Type)
            return Icon;
        else
            return null;
    }

}

public  class Character : IGraphic
{
    public GraphicType Type;        
    public string Name;
    public Texture2D Icon;

    public string GetName()
    {
        return Name;
    }

    public Texture2D GetIcon(GraphicType a_type)
    {
        if (a_type == Type || a_type == GraphicType.CHARACTERS)
            return Icon;
        else
            return null;
    }

}

public interface IGraphic
{
    string GetName();
    Texture2D GetIcon(GraphicType a_type);
}
当我调用GetName()时,它工作得很好,但当我尝试调用GetIcon()时,会收到一条错误消息; 错误1无法将类型“bool”隐式转换为“Microsoft.Xna.Framework.Graphics.Texture2D”
我在这里做错了什么?

请显示获取错误的调用。您是否尝试使用调试器单步执行该调用以查看错误发生的确切位置?调用GetIcon函数的代码在哪里?很抱歉。我有;if(icon=item.GetIcon(a_类型)!=null)和我应该有if((icon=item.GetIcon(a_类型))!=null)非常感谢您的帮助。你的问题让我重新审视代码你找到错误的代码了吗?