我有一堆静态类与各种类型的扩展方法。是否有任何实用工具或将其分成几个类的方法 - 为每个目标类型单独分类。如何分组扩展方法?
5
A
回答
5
将各种扩展方法放到不同的类中是从“干净的代码”的角度来看的一个好主意,但扩展方法的主要“分组”是通过将它们放入不同的名称空间中发生的。原因是通过“使用”适当的名称空间使扩展方法可用。
将不同组的扩展方法放入不同的命名空间是一个好主意,因为您可能会碰撞扩展方法。如果发生这种情况,并且每个逻辑组的扩展方法都在一个细粒度的命名空间中,那么您应该能够通过简单地删除其中一个using
语句来解决冲突,从而保留包含您实际需要的扩展方法的using
语句。
下面是一些最佳做法的链接:
+0
感谢您的回复。 – Peter17 2011-03-02 14:56:54
+0
+1好链接,谢谢! – 2011-03-02 15:01:07
0
我有分组的另一种方式:
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()
群体的扩展方法并缩小智能感知因此,如果您原本拥有数百个字符串扩展方法,则您现在只能在intellisense中看到一个。
相关问题
- 1. 分组扩展方法
- 2. 组织扩展方法
- 3. 扩展方法
- 4. AutoMapper展开扩展方法
- 5. Monticello扩展方法分类规则
- 6. Python扩展方法的分段错误
- 7. TypeScript - 数组排序扩展方法
- 8. 扩展类成员的扩展方法?
- 9. 使用扩展方法的扩展类
- 10. 扩展方法扩展静态类
- 11. GraphicsPath.IsClockWise()扩展方法
- 12. C#扩展方法
- 13. 扩展方法ConvertAll
- 14. XElement.Elements()扩展方法?
- 15. 扩展类方法
- 16. VB.NET扩展方法
- 17. ValueProvider.GetValue扩展方法
- 18. 扩展方法2.10.8.1
- 19. C# - 扩展方法
- 20. C#扩展方法
- 21. 在扩展方法
- 22. 如何扩展WinForm的Dispose方法?
- 23. FirstOrDefault扩展方法如何工作?
- 24. 如何编译扩展方法?
- 25. 扩展方法如何挂接
- 26. 如何改进我的扩展方法
- 27. 如何正确记录扩展方法
- 28. 如何创建扩展方法(F#)?
- 29. 如何添加扩展方法?
- 30. 如何扩展大类方法?
嗨,我会定义一个不同的类,为每种类型扩展名为typeExtensions,如果它们不是太多,我会将所有这些类保留在同一个文件和命名空间中。 – 2011-03-02 14:56:26