問題タブ [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# - VB.Net C# nameof の使用法に相当するもの
nameof
次の C# の使用法に相当する VB.Net はありますか。
注: MyClass はジェネリック クラスでありMyProperty
、private
.
プロパティを使用して、非ジェネリック クラスの次のコードのみを作成できFriend
ます。そうしないと、コンパイラが文句を言いMyClass.MyProperty is not accessable in this context because it is 'Private'
ます。
c# - パラメータとして渡された変数の元の名前を取得する
明確にするために、これはこの質問の複製ではありません。明らかに、演算子を使用して変数またはパラメーターの名前を取得できます。そんなこと知ってる。しかし、メソッドに渡された変数の元の名前を取得する方法はありますか? 現在、私はこのようにする必要があります:nameof
そして、私はそれを次のように呼びます:
しかし、変数の名前を繰り返し提供することを避け、代わりに次のようなものを使用する方法を探しています。
この場合Foo
、 は次のようになります。
このようなことは .NET で実現できますか?
アップデート:
他の人がコメントで示唆しているように、渡されるものがFoo
変数ではなく式である可能性については考えていませんでした。今考えてみると、常に変数が存在することを (どういうわけか) 保証できない限り、何を達成することはできないように思われますか? ロングショットのように聞こえますが、TBH には解決策があるかもしれません。
更新 #2:
人々は、私が実際に達成しようとしていることについて尋ねました。上記の最初の方法と非常に似ていますが、実際に私が使用している方法は次のとおりです。
そして、私はそれを次のようなものに使用しています:
しかし、変数の名前を繰り返し提供することを避ける方法を探しています。
visual-studio-2015 - IronRuby が「nameof」演算子を使用する C# プロジェクトのコンパイルに失敗する
多くのソリューションを含む大規模な WPF アプリケーションがあり、各ソリューションには多くのプロジェクトがあります。IronRuby (v1.0.4) スクリプトを使用して、すべてのプロジェクトを順番にコンパイルします。
問題の説明:
IronRuby スクリプトは、「nameof」演算子を使用するプロジェクトのコンパイルに失敗し、次のエラーが表示されます。
- Visual Studio 2017 および 2019 を搭載したマシンでエラーが発生します。
- Visual Studio 2015 を搭載したマシンで正常に動作します。
- VS 20XX でプロジェクトを個別にコンパイルすると、プロジェクトは正しくコンパイルされますが、IR スクリプトを使用する目的が無効になります。
どこでも検索しましたが、Visual Studio の上位バージョンで機能しない理由が見つかりませんでした。
ソフトウェア スタック:
1. IronRuby バージョン: 1.0.4
2. ネット バージョン: 4.5.2 以降
3. 動作する VS バージョン: 2015 update 3
3.(a) MSBuild ツール バージョン: 14.0
C:\Program Files (x86)\MSBuild\14.0\Bin>MSBuild.exe -version Microsoft (R) Build Engine バージョン 14.0.27522.0 Copyright (C) Microsoft Corporation. 全著作権所有。
14.0.27522.0
3.(b) コマンド プロンプトからプロジェクトをコンパイルする際のメッセージ:
- 非稼働 VS バージョン: 2019 (v16.2.3)
4.(a) MSBuild ツール バージョン: 16.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin>MSBuild.exe -version Microsoft (R) Build Engine バージョン 16.2.37902+b5aaefc9f for .NET Framework Copyright (C) Microsoft Corporation . 全著作権所有。
16.2.37902.0
4.(b) コマンド プロンプトからプロジェクトをコンパイルする際のメッセージ:
Microsoft (R) Build Engine バージョン 4.7.3190.0
[Microsoft .NET Framework、バージョン 4.0.30319.42000] Copyright (C) Microsoft
Corporation. 全著作権所有。
- 両方のマシンの MSBuild バージョンでは、同じ結果が得られます。
3(a)、3(b) を 4(a)、4(b) と比較すると、より高い VS バージョンの wrt ビルド エンジンに切断があるように見えますが、実行を妨げている問題を解決できません。より高いVSバージョンに。
どんな助けでも大歓迎です。
ありがとう、
RDV