VB 中的选项类型

Option type in VB

是否有我们可以在 VB 中使用的 Option 类型?我现在正在 VB 进行一个项目,我正在考虑一种方法来摆脱所有 if 检查 null/Nothing 并返回 null/Nothing。 如果我可以拥有那种类型的东西,我可以静态地确保一个方法 returns 一个 option 而不是通过返回 null 来让调用者感到惊讶。 这将使代码更不容易出错,并且阅读起来会更好。

简答:

没有

长答案:

对正确选项类型或一般代数数据类型的支持不会很快出现在 C#/VB.Net 中。

计划在即将推出的 C# 7 中支持不可为 null 的类型,它们不完全相同但仍允许编译时空值检查。据我所知,尚未确认 VB 15 将包含相同的功能。

您可以自己想出一些反 NullReferenceException 技巧来最大限度地减少意外传递 null 的可能性,但要使它们在编译时 100% 安全是不可能的暂时.