gpt4 book ai didi

c# - 用 List 覆盖 List

转载 作者:太空狗 更新时间:2023-10-29 22:27:21 26 4
gpt4 key购买 nike

我有这样的基类:

public class Scene
{
public IList<SceneModel> Models {get; set;}
}

public class SceneModel { }

和像这样的派生类:

public class WorldScene : Scene
{
public override IList<WorldModel> Models {get; set;}
}

public class WorldModel : SceneModel { }

所以我的问题是,我该如何管理它。就目前而言,编译器对此并不满意(老实说,它对我来说看起来有点奇怪)。那么我想做的事情是不可能的吗?如果是这样,为什么?还是有可能,我只是以错误的方式去做?

最佳答案

你可以使用泛型

public class BaseScene<T>
where T : SceneModel
{
public IList<T> Models {get; set;}
}

public class Scene : BaseScene<SceneModel>
{
}

public class WorldScene : BaseScene<WorldModel>
{
}

每种类型的场景都将通过相应的模型类型进行参数化。因此,您将拥有每个场景的强类型模型列表。

关于c# - 用 List<derivedClass> 覆盖 List<baseClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13105154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com