gpt4 book ai didi

c# - 想要创建自定义类型以在 Assembly.LoadFrom() 的 List 中使用

转载 作者:行者123 更新时间:2023-12-02 22:01:14 27 4
gpt4 key购买 nike

标题说明了一切,但这里有一些示例代码可能看起来像

Assembly a = Assembly.LoadFrom(trustMeThePathIsRight);
Type test = a.GetType("Full.Path.Of.Desired.Type");
List<test> blah = new List<test>;

但它说找不到类型或命名空间。从本质上讲,我如何才能使用通过创建程序集引用获得的类型?

最佳答案

简而言之,你不能那样使用它。在编译时指定的类型参数必须在编译时已知。唯一的选择是使用反射:

Assembly a = Assembly.LoadFrom(trustMeThePathIsRight);
Type test = a.GetType("Full.Path.Of.Desired.Type");
Type listType = typeof(List<>).CreateGenericType(test);
IList blah = (IList)Activator.CreateInstance(listType);

当然这里的问题是类型仍然未知,所以你不会得到编译时类型检查。

关于c# - 想要创建自定义类型以在 Assembly.LoadFrom() 的 List<T> 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16907622/

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