C++プログラマであるため、C#で作業するたびにフリースタンディング関数のサポートが不足しているのだろうかと思います。つまり、どのクラスにも属さない関数です。スタンドアロン機能では完全なプライベートアクセスを必要とせずにクラスに機能を追加できるので、この機能は本当に欠けています。メンテナンスが難しいモノリスクラスを避けることができます。さらに、サードパーティのライブラリを拡張することもできます。私はあなたが静的なクラスを使用することができますが、クラス名は完全に無関係であり、クライアントコードを不必要に冗長にしています。C#のフリースタンディング関数
たとえば、私は、文字列の単語を数えるヘルパー関数を作成したい。どうすれば "StringHelperClass.CountWords();"を書く必要がなくなりますか?クライアントコードで? StringHelperClassは名前空間として機能しますが、「StringHelperClassを使用して」書き込むことはできません。私はすべての使用法で "StringHelperClass"を繰り返す必要がありますが、唯一のパラメータは文字列であるため、文字列ヘルパー関数であることは明らかです。
クライアントコードを簡潔にしながら、クラスの機能を拡張する方法はありますか?
ええ、私はここに質問の証拠はありません。 – Noldorin
私は「本当の質問ではない」と投票しました。 –
クラス外のメソッドがオブジェクト指向言語でどのような意味を持ちますか? – annakata