一:背景
1. 讲故事
在 .NET AOT 编程中,难免会在 泛型,序列化,以及反射的问题上纠结和反复纠错尝试,这篇我们就来好好聊一聊相关的处理方案。
二:常见问题解决
1. 泛型问题
研究过泛型的朋友应该都知道,从开放类型上产下来的封闭类型往往会有单独的 MethodTable,并共用 EEClass,对于值类型的泛型相当于是不同的个体,如果在 AOT Compiler 的过程中没有单独产生这样的个体信息,自然在运行时就会报错,这么说可能有点懵,举一个简单的例子。
internal class Program
{
static void Main(string[] args)
{
var type = Type.GetType(Console.ReadLine());
try
{
var mylist = typeof(List<>).MakeGenericType(type);
var instance = Activator.CreateInstance(mylist);
int count = (int)mylist.GetProperty("Count").GetValue(instance);
Console.WriteLine
订阅专栏 解锁全文
1947

被折叠的 条评论
为什么被折叠?



