【发布时间】:2015-09-05 14:32:08
【问题描述】:
我从ArrayList 继承并覆盖Add 方法(见下文)。
奇怪的是Add() 方法将对象值参数标记为[NotNull],而documentation 表示“此值可以是空引用”。
无论如何,我现在已将其标记为 [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.
}
}
【问题讨论】:
-
这不是一个属性,它是一个方法参数——使用正确的术语以免混淆任何愿意回答的人。另外,请考虑使用
List<T>而不是ArrayList。
标签: c# inheritance resharper