NotNull属性

我正在查看asp.net vnext 工程指南 ,并注意到他们build议使用NotNull属性,而不是显式检查input参数为空,并抛出ArgumentNullException 。 让我感到困惑的是,基于这个准则,只需要声明这个属性,并且在编译时将检查代码生成到方法体中。 我试图在我的testing项目中做到这一点,但魔术没有发生,即它抛出exceptionSystem.NullReferenceException而不是System.ArgumentNullException 。 这应该如何工作? 他们打算在编译时使用一些AOP库来注入检查代码吗?

更新date:2016年1月12日

NotNullAttribute消失了。 ASP.NET团队将其删除,目前还没有计划将其恢复。


该属性将通过预编译步骤replace,使用Roslyn,通过执行实际检查的代码。

但是,该function还没有准备好。 它将在一个更新的版本。