[英]How to group extension methods?
我有一个静态类,其中包含各种类型的扩展方法。 是否有任何实用程序或将其分为几个类的方法-每个目标类型的单独类。
从“干净的代码”的角度来看,将各种扩展方法放入不同的类中是一个好主意,但是扩展方法的主要“分组”是通过将它们放入不同的命名空间来实现的。 原因是可以通过“使用”适当的名称空间来使用扩展方法。
将不同的扩展方法组放入不同的名称空间是一个好主意,因为您可能会遇到冲突的扩展方法。 如果出现这种情况,和扩展方法,每个逻辑组是在一个细粒度的命名空间,你应该能够通过简单地移除的一个解决冲突using
的语句,从而留下using
语句包含你真正想要的扩展方法。
以下是一些最佳做法的链接:
我有另一种分组方式:
public class StringComplexManager
{
public StringComplexManager(String value)
{
Value = value;
}
public String Value { get; set; }
}
public static class StringComplexExtensions
{
public static StringComplexManager ComplexOperations(this String value)
{
return new StringComplexManager(value);
}
public static int GetDoubleLength(this StringComplexManager stringComplexManager)
{
return stringComplexManager.Value.Length * 2;
}
}
用法是:
string a = "Hello"
a.ComplexOperations().GetDoubleLength()
ComplexOperation()
对扩展方法进行分组,并缩小了智能感知的范围,因此,如果您最初有数百种字符串扩展方法,则现在只能在智能感知中看到一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.