gpt4 book ai didi

C# 通用接口(interface)

转载 作者:太空狗 更新时间:2023-10-30 00:09:24 26 4
gpt4 key购买 nike

我需要将泛型类型参数传递给接口(interface)。我有一个带有类型名称的字符串。

我有这样的东西:

string type = "ClassType";
Type t = Type.GetType("ClassType");

IProvider<t> provider = (IProvider<t>)someObject;

这对我不起作用。正确的做法是什么?谢谢。

最佳答案

您尝试执行的操作在 C#(和 CLR)版本的泛型中实际上是不可能的。指定通用参数时,它必须是 ...

  • 代码中的具体类型
  • 另一个泛型参数

此信息必须绑定(bind)在程序集的元数据中。无法以这种方式从元数据中的字符串表达类型名称。

可以在运行时根据字符串名称绑定(bind)泛型,但这需要反射。

关于C# 通用接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1256147/

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