問題タブ [nameof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ASP.NET MVC Url.Action で C# nameof() を使用する方法
おすすめの新しい使い方はありますか
コントローラー名のASP.NET MVCの式?
対
nameof(HomeController)が"HomeController"に変換され、MVC が必要とするのは"Home"だけであるため、明らかに機能しません。
c# - nameof(this) を処理してクラス名を報告する方法
次の C#6 コードを使用したい
...そして、次の出力を取得します。
ジョー
次の試み
nameof
に適用できないため、失敗しますthis
。この問題の回避策はありますか?
編集。私が取り組んでいるシナリオでは、2 つの参照が同じSelf
オブジェクトを指していないことが保証されています。
c# - .NET 4.5.3 でプロパティの変更を通知するために、CallerMemberNameAttribute の代わりに nameof 演算子を使用する利点はありますか?
.NET 4.5.3 の出現により、WPF 開発者は、プロパティの変更をINotifyPropertyChanged
インターフェイスに通知する 3 つ (またはそれ以上) の方法を使用できるようになりました。基本的に、私の質問は、.NET 4.5 以降で導入された 2 つの方法のどちらが、プロパティの変更を通知するより効率的な方法であり、WPF で使用する場合にどちらの方法にも利点があるかどうかです。
バックグラウンド
このテーマにあまり詳しくない人のために、主な 3 つの方法を次に示します。1 つ目は、単純に文字列を渡す元の、よりエラーが発生しやすい方法です。
2 番目の方法は .NET 4.5 で導入されました。CallerMemberNameAttribute
:_
3 番目の最新の方法は、.NET 4.5.3 の一部として C#6.0 に導入されました (または間もなく導入される予定です)。nameof
オペレーター: _
私自身の推測では、単純に文字列を渡す元の、よりエラーが発生しやすい方法が最も効率的であると思います。他の 2 つの方法は何らかの形式のリフレクションを使用しているとしか想像できないからです。ただし、他の 2 つの方法のどちらがより効率的で、WPF コンテキストでのCallerMemberNameAttribute
属性と演算子の使用に実際に違いがあるかどうかを知りたいと思っています。nameof
c# - switch ステートメントで nameof 式を使用することは可能ですか?
新しいC# 6.0nameof
は、次のPropertyChanged
ようなものを使用してプロパティの変更を伝達するパターンに優れています。
プロパティの変更をリッスンするときは、これを使用します(はい、ハードコードされた文字列が醜い場合でも):
新しい nameof 式を使用すると、このコードはコンパイル/動作しますか?
c# - .net フレームワーク 4 の nameof 式
「nameof」式は、Visual Studio 2015 および c# 6 で導入されました
nameof (C# および Visual Basic リファレンス)
.net Framework 4.
c# - nameof の目的は何ですか?
バージョン 6.0 には の新機能が追加nameof
されましたが、変数名を取得してコンパイル時に文字列に変更するだけなので、その目的がわかりません。
使用時に何らかの目的があるのではないかと思いましたが、使用<T>
しようとすると、使用されているタイプの代わりにnameof(T)
a が出力されます。T
目的について何か考えはありますか?
c# - ReSharper は、「caller info 属性を持つパラメーターに渡された明示的な引数」で nameof の使用を強調しています
次のように、nameof 関数を使用してプロパティ名を文字列として取得しています。
ReSharper はこれを警告で強調します。
呼び出し元情報属性を持つパラメーターに渡される明示的な引数
コードは機能します。上記の警告が心配する必要があるかどうか疑問に思っていました。
c# - Visual Studio 2015 で言語バージョンを変更する方法
Visual Studio 2015 の C# プロジェクトで演算子を使用したいのですnameof
が、コンパイラから次のメッセージが表示されます。
'nameof operator' 機能は C# 5 では使用できません。言語バージョン 6 以降を使用してください。
Visual Studio 2015 から C# 言語バージョンを変更する方法を知りたいです。