問題タブ [bindingflags]
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# - BindingFlags.IgnoreCase が Type.GetProperty() で機能しない?
次のことを想像してください
タイプ T にはフィールド Company があります。次のメソッドを実行すると、完全に機能します。
次の呼び出しでは null になります
誰かがアイデアを得ましたか?
c# - BindingFlag.Defaultを使用してGetType()。GetFieldsからフィールドを取得していません
特定のオブジェクト内のすべてのフィールドを取得するために、Reflectionクラスを使用しています。ただし、私の問題は、フィールドが次のように通常のクラス内にある場合に完全に機能することです。
ここで、test1とtest2の両方を取得します。私の問題は、抽象化を使用しているため、いくつかのクラスを組み合わせていることです。
私は次のようなものを手に入れました:
しかし、それを実行すると、からフィールドが返されませんGetType().GetFields(BindingFlag.Default)
。
これらのフィールドのすべてに、プロパティがget; set;
付加されています。コードを実行すると、プロパティはtest1に戻りますが、実際のフィールドは取得しません。
これは私がフィールドを取得しようとしているコードです:
私も試しました:
プロパティに同じコードを使用します。
抽象化されたクラスからプロパティを取得するが、フィールドからは取得しない理由はありますか?
c# - BindingFlags で「自分のメンバー」をフィルタリングする
次のコードを取得しました:
次に、プロパティをフィルタリングして、SpeedValue プロパティのみを取得したいと思います。次のコードは問題ないと思いましたが、機能しません。
「props」では SpeedValue と Name の両方のプロパティを取得しましたが、「filteredProps」では何も取得しませんでした...何か助けてください。
c# - リフレクションを使用して、RuntimeMethodInfo オブジェクトの ReturnParameter の Name プロパティを取得する (C#)
C# に次のクラスがあるとします。
リフレクションに基づいて、getID() (および/または) setID() メソッドで使用されるフィールドの名前を取得できますか? ([B_ID] の場合) 永続化フレームワークをコーディングしていますが、上記の両方の方法で囲まれたテーブルのキー名を識別すると便利です。
RuntimeMethodInfo の ReturnParameter プロパティには、これに役立つ Name というプロパティがあるようですが、null になっています。
その RuntimeMethodInfo オブジェクトを取得するために、この BindingFlags 列挙型を使用して B クラスのインスタンスのメンバーを取得しています。
- BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly
このフィールド名を取得するにはどうすればよいですか? この動作は、プロパティと同じである必要があります。
前もって感謝します
c# - この条件で継承クラスのプロパティを取得する方法
継承するPerson
クラスがPersonBase
あり、この2番目のクラスが継承しEntityBase
ます:
と
と
Person
とPersonBase
クラスのプロパティのリストを取得する必要があります:
今GetProperties()
は include です:FirstName, LastName, GroupName, Id, Error
しかし、私は自分の Person プロパティのみが必要です:FirstName, LastName, GroupName
もちろん、以下のコードで使用されていますが、Person
クラスのプロパティのみが含まれているため、私には適していません。
クラスでのみ定義さPerson
れているプロパティを取得するにはどうすればよいですか?PersonBase
c# - リフレクションとバインディングフラグの適切な使用
プライベートメソッドを使用できるように以下のコードを変更したい
私は運が悪かったので次のことを試みました:
また、このコードの観点から「var」とは何ですか?varを使用する代わりに、そのタイプを指定することをお勧めします。
ありがとう!
c# - GetProperties メソッドを使用するときに静的プロパティを除外する方法
GetProperties() を使用して特定のクラスのすべてのプロパティを抽出するときに、静的プロパティを除外できるかどうか疑問に思いました。これに BindingFlags を使用して必要なものをフィルタリングすることは知っていますが、本当に欲しいのは静的プロパティを除外したいということです。私はこのようなものを使用しようとします:
しかし、VSが構文エラーをスローするため、機能するとは思いません。これが私のクラス内のプロパティです。
このシナリオでは、GetProperties() を呼び出すときに "DataCtrl" プロパティを除外します。返信ありがとうございます。:)
c# - 属性を持つメソッドの BindingFlags
BindingFlags
属性を持つ for メソッドを使用することはできますか? 私はmsdnを調べましたがBindingFlags
、何も表示されませんでした。これは私の方法の1つがどのように見えるかです:
リフレクションを使用してすべての void メソッドをリストボックスに追加していますが、この属性を持つメソッドだけを追加したいだけです..
これは私が使用している方法ですBindingFlags
:
methArr
-インスタンスはどこMethodInfo
ですか