我最近一直在使用扩展方法,并且发现它们有很多用途。我唯一的问题是记住它们在哪里以及使用什么命名空间来获取扩展方法。
但是,我最近想在 System 命名空间、System.Collections 命名空间或其他一些有意义的系统命名空间中编写扩展方法。例如,我实现了以下内容。
namespace System
{
/// <summary>Various array extensions</summary>
public static class ArrayExtensions
{
/// <summary>Converts the array to a hex string</summary>
/// <param name="value">The value.</param>
/// <returns>The array as a hex string</returns>
public static string ToHexString(this byte[] value)
{
var hex = new StringBuilder(value.Length * 2);
foreach (byte b in value)
{
hex.AppendFormat("{0:X2}", b);
}
return hex.ToString();
}
}
}
这是正确的做法吗?