10
A
答えて
1
これは設計チーム以外の人が答えるのは難しいですが、私はCallerTypeNameAttribute
の強力なユースケースはないと言います。
他の方法では取得できないようなロギングルーチンの拡張情報を提供します。メンバー名はログを許可し、INotifyPropertyChanged
の実装を簡素化すると同時に、文字列を検索することなく安全な名前のリファクタリングを可能にします。
typeof(CurrentType).Name
を使用して、指定したメソッドに呼び出し元の型を渡すことができるため、余分な属性を使用するとは限りません。呼び出し元のメンバー名は既にMethodBase.GetCurrentMethod
を使用して取得できますが、おそらく常にリフレクションが強制され、typeof
はおそらく最適化されているため、安全なリファクタリングとパフォーマンスへの影響が少なくなります。
考えられる属性の代わりにtypeof
を使用することの唯一の欠点は、属性アプローチが難読化の影響を受けないことだけです。
関連する問題
- 1. マルチコアJITが.net 4.5では "デフォルトでオン"ではないのはなぜですか? .NET 4.5では
- 2. .NET 4.5 File.Copy OKですが、ファイルが存在しません
- 3. RestapI using .net 4.5
- 4. .NET 4.5へのアップグレード
- 5. VS2012/.Net 4.5をインストールした後に.Net 4.0 Assembly.GetCustomAttributesでExecutionEngineExceptionが表示されるのはなぜですか?
- 6. WiXツールセット:.NET 4.5が必要なカスタムアクション
- 7. WPFリッチテキストボックスバインド可能で.net 4.5
- 8. .NET 4.5の.NETセキュリティモデル(CAS)の状態は?
- 9. .net 4.0から4.5へのアップグレードckeditor .net
- 10. NLog in .NET 4.5コンソールアプリ:ローディング設定なし
- 11. .NET 4.5ベータ版 - リボンコントロール
- 12. WiXカスタムブートストラップアプリケーションと.NET 4.5
- 13. .NET 4.5 Async vs. TPL
- 14. .Net 4.5 Websocket Push Technology?
- 15. なぜsystem.floatが.netに存在しないのですか?
- 16. .NET 4.5のインストール方法は?
- 17. FSharp.Data.DesignTime .NET 4.5のみですか?
- 18. Kendo-ui-angular2コントロールが.NET 4.5アプリケーションで動作しない
- 19. Qt 4.5 .NET Frameworkの依存関係
- 20. HttpResponseMessageのWeb APIで動作していない(.NET 4.5)
- 21. .NET 4.0の.NET 4.5のTask.FromResult()と同等
- 22. .Net 4.0と.Net 4.5のタスクを使用していますか?
- 23. .net-core(DotNetCore 1.0)アプリケーションで既存のC#(.NET 4.5.x)を活用するには
- 24. .net 4.5は.net 4.0と並行して動作しますか?
- 25. .NET 4.5 UserPrincipal.FindByIdentity(System.DirectoryServices.AccountManagement)のバグ
- 26. .NET 4.5ユニバーサルメンバシッププロバイダのテーブル名
- 27. .NET 4.5のMicrosoft Bot Builder?
- 28. NET 4.5アプリのWindows 8ライブタイル
- 29. Tasksと.NETのスレッド4.5
- 30. .NET 4.5でHttpClientを使用したエンコード
メンバ名に接頭辞として型名が含まれていますか? – CodesInChaos
@CodesInChaosそれはそれのように見えません。 –
「なぜXにはYがないのですか?」の標準的な応答「なぜXにYがあるのですか?」あなたがリストアップした3つの属性の実際のユースケースが考慮されました。私は興味があります、呼び出し元のタイプのユースケースは何ですか? – hvd