从基本接口的集合创建派生接口的通用集合

问题描述 投票:0回答:1

我有基本接口

public interface IBase
{
    ...
}

以及从此基础派生的接口

public interface IChild : IBase
{
    ...
}

在我的代码中,我调用了一个方法,该方法将向我返回List<IBase>(旧版代码)。我正在尝试使用此列表填充ObservableCollection<IChild>,并在填充过程中添加必要的属性值以满足IChild接口设置的要求。但是,由于两者都是通用列表,所以我不确定这是否可行或如何实现。

我知道不可能从基本类型转换为派生接口,但是可以从基本接口创建派生实例吗?

c# list interface observablecollection
1个回答
0
投票

简单的方法是在子类中使用IBase构造函数。

public interface IBase
{
}

public interface IChild : IBase
{
}

public class ChildClass : IChild
{
    public ChildClass(IBase baseClass) {
        // Do what needs to be done
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.