You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为C#函数添加注解,标识返回后参数不为null?

解决方案

你可以直接在argument参数上标记[NotNull]属性来实现需求,不需要修改方法的返回逻辑,完全保留原有简洁写法:

using System.Diagnostics.CodeAnalysis;

void ThrowIfNullEmptyOrBlank([NotNull] string? argument, string paramName)
    => ThrowIf(Check.Null & Check.Empty & Check.Blank, argument, paramName);

原理说明

[NotNull]属性(来自System.Diagnostics.CodeAnalysis命名空间)作用于参数时,会告知静态分析工具:只要该方法正常返回(未抛出异常),这个参数就绝对不为null。这和你的方法逻辑完全匹配——如果argument是null/空字符串/空白字符串,方法会直接抛出异常;只有当argument满足非空要求时,才会正常返回,此时静态分析器就能识别出后续代码里argument不再是可空状态。

这种写法不需要改变方法的返回类型或返回参数值,完美保留了你想要的简洁实现。

内容的提问来源于stack exchange,提问作者Benjin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:10:15