1
拡張メソッドは実際には静的メソッドです。 Asp.netコアは静的メソッドを使用することを推奨しますか?なぜAsp.net Coreは多くの拡張メソッドを使用していますか?
拡張メソッドは実際には静的メソッドです。 Asp.netコアは静的メソッドを使用することを推奨しますか?なぜAsp.net Coreは多くの拡張メソッドを使用していますか?
フレームワークは、拡張メソッドを使用しての機能を拡張します。これは、低レベルのASP.NETコアタイプの拡張メソッドを使用してコンポーネントが登録されるモジュラーシステムを可能にします。これらは主にapplication startupの設定に使用されます。
特定の型のユーティリティメソッドは、型自体で実装されるのではなく、拡張メソッドとして実装されることがあります。これにより、型がきれいに保たれ、別の名前空間で高度なメソッドを「非表示」することができます。
ASP.NET Coreは実際にはファーストクラスの市民としてdependency injectionを利用して統計情報の使用を控えています。たとえば、スタティックHttpContext.Current
は存在しません。代わりに、サービスにIHttpContextAccessor
を注入することで、現在のHTTPコンテキストを保持することができます。