正确覆盖[NotNull]属性
本文关键字:属性 NotNull 覆盖 | 更新日期: 2023-09-27 18:11:15
继承ArrayList
并覆盖Add
方法(见下文)。奇怪的是,Add()
方法已将对象值参数标记为[NotNull]
,并且文档中说"此值可以是空引用"。
无论如何,我现在已经标记为[CanBeNull]
(通过ReSharper注释属性)。但是IntelliSense仍然给我缓存的文档,将参数标记为[NotNull]
。
为什么没有覆盖文档?
/// <summary>
/// Bla bla
/// </summary>
/// <param name="value">
/// This Attribute is marked as CanBeNull.
/// </param>
/// <returns></returns>
public override int Add([CanBeNull] object value)
{
if (value != null)
{
// Do sth.
}
}
尽管ReSharper的空性分析尊重用[CanBeNull]
覆盖的[NotNull]
属性,并且也显示在Ctrl+Shift+F1窗口中,但ReSharper在参数信息中错误地忽略了它们。
我创建了RSRP-447900.