C# 在接口中定义方法
首先让我为问了这么多愚蠢的问题而道歉。我刚从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; }
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)非常感谢您的帮助。你的问题让我重新审视代码你找到错误的代码了吗?