2

我刚刚开始查看 C# 文档标准。这是我拥有的一种方法:

/// <summary>
/// Reformats a key in x.x format to 0x0x format
/// </summary>
/// <param name="dotFormatRowKey">key in ##.## format</param>
public static string DotFormatToRowKey(this string dotFormatRowKey) 
{

    if (! Regex.IsMatch(dotFormatRowKey, @"\d+\.\d+"))
       throw new ArgumentException("Expected ##.##, was " + dotFormatRowKey);

    var splits = dotFormatRowKey.Split('.')
                 .Select(x => String.Format("{0:d2}", Int32.Parse(x)))
                 .ToList();
    var joined = String.Join(String.Empty, splits.ToArray())

    return joined;
}

有人可以就如何记录此方法的输入和返回参数给我建议。另外,当我这样做时,如果某人使用 VS2010 智能感知,他们是否可以使用记录在案的评论?

4

1 回答 1

1

至于你应该如何记录参数:我认为这很主观,但你现在这样做的方式对我来说还不错。尽管如此,您可能会将您的返回变量更改joined为更详细的内容,例如"keyFormattedString"或其他内容。

至于你问题的第二部分:

另外,当我这样做时,如果某人使用 VS2010 智能感知,他们是否可以使用记录在案的评论?

引用自 msdn:

仅当您使用 using 指令将命名空间显式导入源代码时,扩展方法才在范围内。

如果该方法位于类库中的某个类中,那么他们必须将该库引用到他们当前的解决方案中,以便使用/查看该方法和记录的注释。您基本上可以创建一个包含所有扩展方法的新类库,然后将该 DLL 导入您正在处理的任何解决方案。

假设您有一个类库,那么您只需添加

using ExtensionMethodsLib; // or whatever you'll call it

到您的 using 语句,在您可能需要的任何页面上。

扩展方法 (msdn)

于 2012-09-22T14:11:52.067 回答