C# C错误CS0738,当类继承自接口且类型继承自interfce type方法时
当类推动一个接口,接口有一个方法,返回类型为接口时,我得到了CS0738 类内返回类型是实现返回类型接口的结构 简单地说,此代码显示了问题: 公共接口IGame { 伊普莱尔·霍温; } 公共接口层 { int ID{get;} } 在课堂上: 公共类MyGame:IGame { //错误CS0738 公开我的玩家WhoWin { // ... 返回null; } } 公共类MyPlayer:IPlayer { 公共整数ID { 收到 { 返回ColorTranslator.ToWin32Color; } } 公共色彩; } 我该怎么办?如何解决这个问题?在MyGame类中将WhoWin的返回类型从MyPlayer更改为IPlayer,然后它就可以工作了C# C错误CS0738,当类继承自接口且类型继承自interfce type方法时,c#,class,interface,C#,Class,Interface,当类推动一个接口,接口有一个方法,返回类型为接口时,我得到了CS0738 类内返回类型是实现返回类型接口的结构 简单地说,此代码显示了问题: 公共接口IGame { 伊普莱尔·霍温; } 公共接口层 { int ID{get;} } 在课堂上: 公共类MyGame:IGame { //错误CS0738 公开我的玩家WhoWin { // ... 返回null; } } 公共类MyPlayer:IPlayer { 公共整数ID { 收到 { 返回ColorTranslator.ToWin32Col
public class MyGame : IGame
{
// CHANGE THIS TO IPlayer like here:
public IPlayer WhoWin()
{
// ...
return null;
}
}
public class MyPlayer : IPlayer
{
public int ID
{
get
{
return ColorTranslator.ToWin32(Color);
}
}
public Color Color;
}
在MyGame类中将WhoWin的返回类型从MyPlayer更改为IPlayer,这样它就可以工作了
public class MyGame : IGame
{
// CHANGE THIS TO IPlayer like here:
public IPlayer WhoWin()
{
// ...
return null;
}
}
public class MyPlayer : IPlayer
{
public int ID
{
get
{
return ColorTranslator.ToWin32(Color);
}
}
public Color Color;
}
您可以创建IGame通用接口并应用where T:IPlayer约束
公共接口IGame,其中T:IPlayer
{
T WhoWin;
}
然后像这样实现它
公共类MyGame:IGame
{
公开我的玩家WhoWin
{
// ...
返回null;
}
}
您可以创建IGame通用接口并应用where T:IPlayer约束
公共接口IGame,其中T:IPlayer
{
T WhoWin;
}
然后像这样实现它
公共类MyGame:IGame
{
公开我的玩家WhoWin
{
// ...
返回null;
}
}
类不会继承接口-它会实现它。。。。。继承仅在类之间工作。请将返回类型设置为对象:公共对象WhoWin@marc_s我已经编辑了postA类,它不继承接口-它实现了它。。。。。继承仅在类之间工作。请将返回类型设置为对象:公共对象WhoWin@marc_s我编辑了这篇文章