是否有命名规则来定义何时将's'附加到函数名称?

q09*_*987 1 c#

作为一个很好的例子来说明这个问题.让我们看看System.Object如何包含:

Equals                => with 's'
GetHashCode
GetType
ReferenceEquals       => with 's'  
ToString
Finalize
MemberwiseClone
Run Code Online (Sandbox Code Playgroud)

那么,在我们应该在函数名称的末尾添加's'时,我们可以遵循最佳实践中的一般规则吗?

// 更新 //

为什么不使用FinalizesMemberwiseClones呢?

Str*_*ior 7

不幸的是,这恰好跟随英语的变幻莫测,这对于非母语的人来说很难掌握.

这个想法是:

  • a.Equals(b)应该写着"A等于B".当主语是单数(如"A")时,"等于"是及物动词"相等"的正确结合.
  • a.GetHashCode()应该读取"一个点GetHashCode",因为您计划从变量表示的对象"获取哈希码" a.
  • a.Finalize()应阅读"a dot Finalize",这意味着您计划"完成"变量所代表的对象a.

添加"s"的其他示例通常遵循单数对复数规则.例如:

  • type.GetCustomAttributes() 表示将返回一组"属性",而不仅仅是一个"属性".