問題タブ [system.reflection]
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# - System.Reflection; (特定のタイプの) フィールドのリストを作成する
特定のタイプの静的フィールドを多数持つクラスがありますFoo
。コードを単純化して短縮するために、それらを配列に入れることを考えました (つまり、もちろんそれらの参照)。
各フィールド名を明示的に書き出してリスト/配列に入れるだけでそれを行うことができます..(つまりmyList.Add(this.A)
)..しかし、それらのフィールドがたくさんあり、それらは時々変わるので、リフレクションを介してすべてやりたい..できるはずですよね?
c# - Reflection と ValueInjecter を使用した複合オブジェクトのマッピング
この質問は、このフォーラムで常に尋ねられていることかもしれませんが、必要な質問が見つかりません。私の問題は、このような複合クラスがあることです
顧客データを取得するとき
リフレクション、コードを使用して Customer クラス (オブジェクト) にマッピングします。
CompanyName をマッピングすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが返されます。私はデバッグして問題を知っていますが、今のところ解決できません。
AutoMapper または Dapper については知っていますが、このケースに適用すると、同じ問題も発生します。
今、私は ValueInjecter を使用しています。読んだことから、問題を解決できます。しかし、私は cust.Company.Id および cust.Name = "" および cust.Company.Name = "" と同じ cust.Id 値を持っています
何か間違っていることでも?私を助けてください。
c# - C# リフレクションによるオブジェクトの DateTime プロパティ値の設定
オブジェクトのすべての DateTime プロパティをデフォルトの日付に設定したいと考えています。ただし、リフレクションを使用して値を設定しようとすると、「オブジェクトがターゲット タイプと一致しません」という例外が発生します。
私は根本的に間違ったことをしている/考えていますか?
c# - Assembly.GetTypes() に参照が必要なのはなぜですか?
アセンブリからすべての型を取得したいのですが、参照がなく、参照も気にしません。インターフェイスの種類を見つけることは、参照とどのような関係がありますか? これを回避する方法はありますか?
スロー: FileNotFoundException ファイルまたはアセンブリ '参照されたアセンブリ' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
c# - 演算子を既存の型に「注入」する
Scriptsharp は、int32 に暗黙の演算子 System.Number を持つ mscorlib 0.7.0.0 を使用します。コンパイラが別の方法で変換を処理できると思いますが、そこにある理由は理解しています。
これで、生成されたスクリプトシャープ .Dll を、標準の .Net mscorlib を使用する他のプロジェクト (単体テストなど) で使用できなくなりました。> 3.0。
リフレクションを通じてその演算子を「注入」する方法はありますか?
私の前の質問はバグの一歩を踏み出しましたが、これは....
c# - Nullableを取得する方法(基になる値の代わりに)FieldInfo.GetValue()を介して?
アプリケーションには、Nullable <int>のFieldInfoを持つコードがあり、次のサンプルのようにnull許容値(基になる値ではない)を取得する必要があります。
私の問題は、vには常にnullable(このサンプルではNullable <int>)ではなく基になる値(このサンプルではint )が割り当てられることです。
PS:実際のアプリケーションには、コンパイル時にnull許容型がないため、キャストはできません。
助けてくれてありがとう。
c# - リフレクションを介してメソッドを呼び出すと System.MissingMethodException が発生する
アセンブリを動的にロードし、そこから静的メソッドを呼び出しています。この問題は、メソッドが自明ではない参照 (mscorlib や System.Core など) を使用する場合に発生します - I get System.MissingMethodException
. ロードされたアセンブリの参照アセンブリを調べて、それらをすべて手動でロードしようとしたため、AppDomain に強制的にロードされました。確認CurrentDomain.GetAssemblies
しました。アセンブリがロードされています。
リファレンスはサード パーティのライブラリであり、正しいバージョンがロードされていることがわかっています (からCurrentDomain.GetAssemblies
)。
この問題の原因は何ですか?
.net - MethodBase.GetCurrentMethodと同等のポータブルクラスライブラリ
s MethodBase.GetCurrentMethodと同等のポータブルクラスライブラリはありますか?
私はPCLを初めて使用します。PCLを使用して、Silverlightで確実に使用され、他の場所で使用される可能性のあるクライアントコードを保持できるかどうかを調べています。ソースをスキャンすると、PCLには存在しないように見えるMethodBase.GetCurrentMethodへの呼び出しがたくさん表示されます。
** 編集 **
問題のライブラリからこのサンプルをリッピングしました。IsNullOrEmpty()はString.IsNullOrWhiteSpace(String)を使用していましたが、これは利用できないようです。そのため、ビットはファッジです。
c# - 反射型適応
リフレクションに問題があります。基本的に、次のように Class のメソッドを呼び出す必要があります。
そして、「外部」C#ソフトウェアからこの入力を受け取り、呼び出す必要がある魔女のメソッドを評価する必要があるため、リフレクションで呼び出す必要があります。
問題は、入力として「プロンプトコマンドライン」によって渡された2つのオブジェクトがあるため、バイトに変換したことです。
そのため、Refection を実行すると、入力に 2 バイトのメソッドが見つからなかったため、「メソッド addNumber が見つかりません」というエラーが表示されます。2 Byte ではなく 2 Int32 が必要だったと思います。
どうすれば解決できますか?
D.
更新 1:
更新 2: EXE ファイルからこの呼び出しを受け取るため、Int32 にキャストできません。
例:
解決
基本的に、すべての Param が渡されるように、キャストします。その後、私はそれを動的に渡します:
c# - リフレクションを使用して PropertyInfo を取得し、ミューテーターを持つアクセサーのみを表示したい
get
リフレクションを使用して、とメソッドの両方を持つプロパティのみを取得し、 のみを持つset
ものは無視しますget
。私がやろうとしているのは、ユーザーが変更できる変数のリストをユーザーに提供することです。そのため、get
メソッドのみを持つプロパティを表示することは誤解を招きます。
以下のコードでは、ユーザーのみが表示されName
ます。UniqueID
または、両方を表示することもできますが、変更できないことがわかるようにグレー表示します。
背景情報: C# 4.0 を使用しています。