.NET 6 提示字符串可能为空的警告怎么处理?

来源:7-9 【理论】反射与元数据

慕粉3920523

2022-03-19

代码:

string classLocation = "netCore.MyList,netCore";
Type objType = Type.GetType(classLocation ?? "");
object obj = Activator.CreateInstance(objType);

MethodInfo add = objType.GetMethod("Add");
add.Invoke(obj, null);

提示
图片描述

我试了一下判断空,或者使用 nullable 类型的方式来进行处理,但是警告依然存在,最后通过查询, 可以通过将csproj配置中的 Nullable 改为 disable来进行解决,

但是如果不通过这种方法, 怎么正确处理这个警告?

在事件这一章中同样有这个问题:
图片描述

写回答

1回答

阿莱克斯刘

2022-03-21

空检查(null check)在 .net 6 中做了一些更新,加入了"?."操作符。为了类型安全,我们需要做一些额外的判断,请看下图:

//img.mukewang.com/szimg/62376eb309e6e4c310900196.jpg

更详细资料请查看官方文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/nullable-references


2
1
慕粉3920523
非常感谢!
2022-03-21
共1条回复

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

839 学习 · 198 问题

查看课程