When does using extension methods make sense?
They make sense when you are using LINQ and want to chain or pipe functional output from one function to another. It improves the readability of the code and allows you to express a concept more elegantly (whatever that is worth).
They also allow you to give the appearance of instance methods on any type you like without modifying the source of that type, this can often help readability and the expressiveness of your code when it is used reasonably
Does adding extension methods to a type affect performance?
Note that an extension method call like:
instance.SomeExtensionMethod()
gets compiled to:
StaticExtensionMethodClass.SomeExtensionMethod(instance);
so performance will be the same as any other static method call.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…