gpt4 book ai didi

c# - 使用反射创建通用 IList 实例

转载 作者:太空狗 更新时间:2023-10-29 20:44:20 25 4
gpt4 key购买 nike

我正在尝试使用反射创建一个通用的对象列表。下面的代码抛出错误 Cannot create an instance of an interface. 。我可以将 IList 更改为 List,它工作正常,但我想知道是否有办法让它与 IList 一起工作。

    var name = typeof (IList<T>).AssemblyQualifiedName;

Type type = Type.GetType(name);

var list = Activator.CreateInstance(type);

最佳答案

不,不可能创建接口(interface)的实例。

.NET(或者说 Activator.CreateInstance 方法)应该如何决定它应该实例化该接口(interface)的哪个实现?

你不能这样做:

IList<int> l = new IList<int>();

要么,你能吗?您只是无法实例化接口(interface),因为接口(interface)只是一个定义或一个描述类型应实现哪些功能的契约。

关于c# - 使用反射创建通用 IList 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2198989/

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