C#是否可以将新项目添加到接口列表中?

C#是否可以将新项目添加到接口列表中?,c#,interface,C#,Interface,我想问一下,是否可以将一项添加到接口列表中? 例如: 我有一个界面列表: List<ITestItem> testList = new List<ITestItem>(); 提前谢谢你 注:我的问题是问是否可能。如果没有,对我来说没问题。您不能创建接口的实例,但可以创建实现接口的类的实例。 只要要添加的对象是实现ITestItem的类的实例,就可以将其添加到列表中 例如: public class SomeListItem : IListItem { } var i

我想问一下,是否可以将一项添加到接口列表中? 例如:

我有一个界面列表:

List<ITestItem> testList = new List<ITestItem>();
提前谢谢你


注:我的问题是问是否可能。如果没有,对我来说没问题。

您不能创建接口的实例,但可以创建实现接口的类的实例。
只要要添加的对象是实现
ITestItem
的类的实例,就可以将其添加到
列表中

例如:

public class SomeListItem : IListItem
{

}

var item = new SomeListItem();

testList.Add(item);

或者(可能更可能)在代码中的某个地方将有一个类已经实现了
IListItem
,而该代码中没有
IListItem

您无法实例化接口。您需要创建一个实现该接口的类。

不,接口是不可实例化的。您需要一个实现接口的类,并实例化该类的一个实例,然后将其添加到列表中。

对于从该接口创建的一些随机类,您希望如何处理,哪个类将控制契约的逻辑?如果没有实现接口的类,您的列表包含哪些实例?没有接口实例,因为接口没有实例,它们只是现有实例的视图。。因此,如果没有实现该接口的类,则不能创建实例,也不能添加实例。我不太清楚你到底想在你的清单上加什么。这个问题正在成为误解的坟墓。请更新您的问题,提供更多详细信息,说明您为什么需要
从ITestItem创建一个新实例
为什么需要这个,您将如何处理it@TheGeneral这就是为什么我投票结束这个不清楚的问题。@All:对不起,我犯了一个错误。我找到了一个实现接口的类。@HimBromBeere-这就是为什么我声明要创建一个类。。。这是唯一的办法@他说没有实现接口的类,为什么不写一个呢?没错!OP说没有实现接口的类。答案是写一个。不要否决告诉他写一个实现接口的类的答案@anhtv13您不需要编辑客户的代码。如果您能够创建该接口的列表,则可以将其作为类实现。@HimBromBeere正如所有其他ppl注释所述,可以创建实现该接口的类。。。如果OP可以创建它的列表!
public class SomeListItem : IListItem
{

}

var item = new SomeListItem();

testList.Add(item);