C# 扩展方法与常规方法-最佳实践理念
我很难确定何时将方法作为扩展方法实现,何时将方法作为独立方法实现。在确定这一点时,人们遵循的最佳实践是什么?如果满足以下任一条件,请使用扩展方法:C# 扩展方法与常规方法-最佳实践理念,c#,C#,我很难确定何时将方法作为扩展方法实现,何时将方法作为独立方法实现。在确定这一点时,人们遵循的最佳实践是什么?如果满足以下任一条件,请使用扩展方法: 您需要一个类型上的方法,但您不拥有源 您需要一个类型上的方法,您拥有源,并且该类型是一个接口 您需要一个类型上的方法,您确实拥有源,但是添加该方法会创建不需要的耦合* 否则,应该对实际类型本身使用实方法 我认为为您拥有源代码的类或结构创建一个扩展方法没有多大意义——既然常规方法就足够了,为什么还要用扩展方法来迷惑读者呢 建议阅读: *假设您希望向
- 您需要一个类型上的方法,但您不拥有源
- 您需要一个类型上的方法,您拥有源,并且该类型是一个接口
- 您需要一个类型上的方法,您确实拥有源,但是添加该方法会创建不需要的耦合*
string.ExtensionMethod();
看起来比
StringHelper.ExtensionMethod("string to do something with");
我要补充的另一个例子是:你需要一个类型上的方法,你拥有源代码,但该方法会创建一个不需要的耦合。建议的读取链接已失效,我无法找到替代链接。但当你不是编写
ExtensionMethod()
的人时,花些时间在官方的C#docs中查找扩展方法
,结果发现你找错了地方。