您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计370个文字,预计阅读时间需要2分钟。
我有一个例子,我想用一个抽象类接口来返回这样的东西。
javaabstract class AnimalProcessor { public abstract ILi getAnimalInfo();}
我有一个例子,我想要一个抽象类接口来返回这样的东西abstractclassAnimalProcessor{publicabstractILi我有一个例子,我想要一个抽象类接口来返回这样的东西
abstract class AnimalProcessor { public abstract IList ProcessResults();}
然后是具体的例子
class GiraffeProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}class LionProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}
问题是具体类需要具有相同的签名才能覆盖ProcessResults()方法,因此它们需要返回IList,但是我想要返回的ACTUAL数据是IList,IList等等,但调用代码必须这样做
GiraffeProcessor processor = new GiraffeProcessor();IList results = processor.GetResults();
哪个不给我一个我想要的Ilist.
问题
1)上面的代码没有编译. giraffeProcessor必须返回一个具体的List,你可以用Giraffe对象填充它,但你要构造的对象类型必须是List.不理想.
2)当您返回结果时,您只能获得IList,而不是IList.我已经尝试明确地向IList同的IList这会产生运行时错误,大概是因为返回的对象不是IList,它是IList其中包含长颈鹿的物体.
任何人都可以通过我的设计向我提出我在做错的事情,因为我有点难以实现这一目标.
解决方法:
怎么样:
abstract class AnimalProcessor where T : Animal { public abstract IList ProcessResults();}class GiraffeProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}class LionProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}
本文共计370个文字,预计阅读时间需要2分钟。
我有一个例子,我想用一个抽象类接口来返回这样的东西。
javaabstract class AnimalProcessor { public abstract ILi getAnimalInfo();}
我有一个例子,我想要一个抽象类接口来返回这样的东西abstractclassAnimalProcessor{publicabstractILi我有一个例子,我想要一个抽象类接口来返回这样的东西
abstract class AnimalProcessor { public abstract IList ProcessResults();}
然后是具体的例子
class GiraffeProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}class LionProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}
问题是具体类需要具有相同的签名才能覆盖ProcessResults()方法,因此它们需要返回IList,但是我想要返回的ACTUAL数据是IList,IList等等,但调用代码必须这样做
GiraffeProcessor processor = new GiraffeProcessor();IList results = processor.GetResults();
哪个不给我一个我想要的Ilist.
问题
1)上面的代码没有编译. giraffeProcessor必须返回一个具体的List,你可以用Giraffe对象填充它,但你要构造的对象类型必须是List.不理想.
2)当您返回结果时,您只能获得IList,而不是IList.我已经尝试明确地向IList同的IList这会产生运行时错误,大概是因为返回的对象不是IList,它是IList其中包含长颈鹿的物体.
任何人都可以通过我的设计向我提出我在做错的事情,因为我有点难以实现这一目标.
解决方法:
怎么样:
abstract class AnimalProcessor where T : Animal { public abstract IList ProcessResults();}class GiraffeProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}class LionProcessor : AnimalProcessor { public override IList ProcessResults() { return new List(); }}

