可読性を向上させる以外の目的を果たさない拡張メソッドの使用に関する一般的な考え方は何ですか?可読性を高めるための拡張メソッドの使用
拡張メソッドを使用しなければ、私たちはこれで何も悪いことはありませんが、私はインスタンスを見つける
var descendents = GetDescendents(someControl);
または
foreach (var descendent in GetDescendents(someControl)) {}
で呼び出すことができ方法
IEnumerable<DependencyObject> GetDescendents(DependencyObject root) {}
を持っているかもしれません私はこれを拡張メソッドにすることを検討するかもしれない。この署名i番目
public IEnumerable<DependencyObject> GetDescendents(this DependencyObject root) {}
は、それが
var descendents = someControl.GetDescendents();
または
foreach (var descendent in someControl.GetDescendents()) {}
と呼ばれることを可能だから私の質問は、あなたが、これは合理的なまたは拡張メソッドの乱用だと思うかどうかです。機能を違うと宣言するだけの問題だったら、私は躊躇しないだろう。拡張メソッドを使用すると別の静的クラスにコード化する必要があるという事実は、それが努力する価値があるのかどうか疑問に思います。私が上で使用している例は、かなり一般的なもので、いくつかの場所で使用される拡張メソッドとしてメリットがあるかもしれませんが、そうでない場合が多く、同じファイルに拡張子を含む静的クラスをコーディングしますそれを使用する単一のクラスです。
私はこの側面について考えたことはありません。それは多くの意味があります。 –