gpt4 book ai didi

C# 定义使用反射创建的泛型的长度

转载 作者:行者123 更新时间:2023-11-30 22:47:51 25 4
gpt4 key购买 nike

我有这样的代码:

Type typPrecise = MostPrecise(typeof(int), typeof(double));//Evaluates to double

var varGeneric = typeof(Number<>);
var varSpecific = varGeneric.MakeGenericType(typPrecise);
dynamic nmNumber = Activator.CreateInstance(varSpecific);

nmNumber 是动态类型,本质上是生成一个通用数字。然后如何在 Number 中指定项目数。

我基本上想通过使用上面的动态代码来完成此操作:

Number<typPrecise> whatever = new Number<typPrecise>(10);

欢迎使用 4.0 概念回答。

最佳答案

调用接受构造函数参数的 Activator.CreateInstance 的重载:

dynamic nmNumber = Activator.CreateInstance(varSpecific, new object[] { 10 });

顺便注意 List<T>(int)构造函数设置列表的初始容量,而不是项目的初始数量 (Count)。初始计数始终为 0。

关于C# 定义使用反射创建的泛型的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2079358/

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