在公共API中传达字符串参数的目的的最佳方法是什么?

Dav*_*ave 2 c# frameworks

根据Microsoft .NET 2.0中使用字符串的新建议中发布的指南,字符串中的数据可能表现出以下类型的行为之一:

  1. 非语言标识符,其中字节完全匹配.
  2. 一种非语言标识符,其中大小写无关紧要,尤其是存储在大多数Microsoft Windows系统服务中的一段数据.
  3. 与文化无关的数据仍具有语言相关性.
  4. 需要当地语言习俗的数据.

鉴于此,我想知道在公共API中传达字符串参数的最佳方式.我无法在框架设计指南中找到答案.

请考虑以下方法:

   f(string this_is_a_linguistic_string)
   g(string this_is_a_symbolic_identifier_so_use_ordinal_compares)
Run Code Online (Sandbox Code Playgroud)

变量命名和XML文档是我能做的最好的吗?我可以用某种方式使用属性来标记字符串的要求吗?

现在考虑以下情况:

   h(Dictionary<string, object> dictionary)
Run Code Online (Sandbox Code Playgroud)

请注意,字典实例是由调用者创建的.如何通知被调用者期望字典持有的IEqualityComparer <string>对象执行,例如,不区分大小写的序数比较?

GvS*_*GvS 5

使用文档语法:

/// <param name="dictionary">
/// ... string is case sensitive ordinal ...
/// </param>
Run Code Online (Sandbox Code Playgroud)