Я недавно использовал методы расширения и нашел для них много возможностей. Единственная проблема, с которой я сталкиваюсь, - это запомнить, где они находятся, и какое пространство имен использовать для получения методов расширения.
Однако недавно я подумал о написании методов расширения в пространстве имен 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();
}
}
}
Это правильная вещь?