[解決済み】現在実行中のメソッドの名前を見つけるためにリフレクションを使用できますか?
2022-04-21 04:14:24
質問
タイトルの通りです。リフレクションは現在実行されているメソッドの名前を教えてくれますか?
ハイゼンベルグ問題があるので、そうではないと思いたいのですが。 現在のメソッドが何であるかを変えずに、現在のメソッドを教えてくれるメソッドをどのように呼び出すのでしょうか? しかし、誰かが私の間違いを証明してくれることを期待しています。
更新してください。
- その2:これは、プロパティのコード内部を見るのにも使えるのでは?
- その3:性能はどうなるのか?
最終結果
MethodBase.GetCurrentMethod()について学びました。 また、スタックトレースを作るだけでなく、必要なフレームだけを作ることができることを知りました。
これをプロパティ内で使うには、.Substring(4)をとって「set_」または「get_」を削除するだけです。
どのように解決するのですか?
.NET 4.5以降では、この他に [CallerMemberName] を指定します。 .
例:プロパティセッター(その2に答えるため)。
protected void SetProperty<T>(T value, [CallerMemberName] string property = null)
{
this.propertyValues[property] = value;
OnPropertyChanged(property);
}
public string SomeProperty
{
set { SetProperty(value); }
}
コンパイラは、呼び出し先で一致する文字列リテラルを提供するので、基本的にパフォーマンスのオーバーヘッドはありません。
関連
-
[解決済み】プラットフォームが同じでも「不正なフォーマットでプログラムを読み込もうとしました。
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] Java のメソッド名を文字列で指定した場合、どのように呼び出すのですか?
-
[解決済み] リフレクションを使って、パッケージ内のすべてのクラスを見つけることができますか?
-
[解決済み] 現在のメソッドを呼び出したメソッドを見つけるにはどうすればよいですか?
-
[解決済み] 現在実行中のメソッド名の取得
-
[解決済み] リフレクションを使ってプライベートメソッドを呼び出すには?
-
[解決済み】async-awaitが追加のスレッドを作成しないのであれば、どのようにしてアプリケーションの応答性を高めているのでしょうか?
-
[解決済み】現在実行中のメソッドの名前を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プラットフォームが同じでも「不正なフォーマットでプログラムを読み込もうとしました。
-
[解決済み] Microsoft.Practices.ServiceLocationはどこから来たのですか?
-
[解決済み] アセンブリから型を読み込めなかったエラー
-
[解決済み] 16進数値0x00は無効な文字です。
-
[解決済み] Html.BeginForm()にCSSクラスを追加する。
-
[解決済み] gacutil.exeはどこですか?
-
[解決済み] 現在のメソッドを呼び出したメソッドを見つけるにはどうすればよいですか?
-
[解決済み] .NETで文字列から発音区分符号(アクセント)を削除するにはどうすればよいですか?
-
[解決済み] WCF - メッセージサイズのクォータを増加させる方法
-
[解決済み] コードから現在のメソッドの名前を取得する方法 [重複]について