問題タブ [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.

0 投票する
3 に答える
43728 参照

c# - BindingFlags.IgnoreCase が Type.GetProperty() で機能しない?

次のことを想像してください

タイプ T にはフィールド Company があります。次のメソッドを実行すると、完全に機能します。

次の呼び出しでは null になります

誰かがアイデアを得ましたか?

0 投票する
6 に答える
42671 参照

c# - BindingFlag.Defaultを使用してGetType()。GetFieldsからフィールドを取得していません

特定のオブジェクト内のすべてのフィールドを取得するために、Reflectionクラスを使用しています。ただし、私の問題は、フィールドが次のように通常のクラス内にある場合に完全に機能することです。

ここで、test1とtest2の両方を取得します。私の問題は、抽象化を使用しているため、いくつかのクラスを組み合わせていることです。

私は次のようなものを手に入れました:

しかし、それを実行すると、からフィールドが返されませんGetType().GetFields(BindingFlag.Default)

これらのフィールドのすべてに、プロパティがget; set;付加されています。コードを実行すると、プロパティはtest1に戻りますが、実際のフィールドは取得しません。

これは私がフィールドを取得しようとしているコードです:

私も試しました:

プロパティに同じコードを使用します。

抽象化されたクラスからプロパティを取得するが、フィールドからは取得しない理由はありますか?

0 投票する
3 に答える
140 参照

c# - BindingFlags で「自分のメンバー」をフィルタリングする

次のコードを取得しました:

次に、プロパティをフィルタリングして、SpeedValue プロパティのみを取得したいと思います。次のコードは問題ないと思いましたが、機能しません。

「props」では SpeedValue と Name の両方のプロパティを取得しましたが、「filteredProps」では何も取得しませんでした...何か助けてください。

0 投票する
1 に答える
617 参照

c# - リフレクションを使用して、RuntimeMethodInfo オブジェクトの ReturnParameter の Name プロパティを取得する (C#)

C# に次のクラスがあるとします。

リフレクションに基づいて、getID() (および/または) setID() メソッドで使用されるフィールドの名前を取得できますか? ([B_ID] の場合) 永続化フレームワークをコーディングしていますが、上記の両方の方法で囲まれたテーブルのキー名を識別すると便利です。

RuntimeMethodInfo の ReturnParameter プロパティには、これに役立つ Name というプロパティがあるようですが、null になっています。

その RuntimeMethodInfo オブジェクトを取得するために、この BindingFlags 列挙型を使用して B クラスのインスタンスのメンバーを取得しています。

  • BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly

このフィールド名を取得するにはどうすればよいですか? この動作は、プロパティと同じである必要があります。

前もって感謝します

0 投票する
4 に答える
1661 参照

c# - この条件で継承クラスのプロパティを取得する方法

継承するPersonクラスがPersonBaseあり、この2番目のクラスが継承しEntityBaseます:

PersonPersonBaseクラスのプロパティのリストを取得する必要があります:

GetProperties()は include です:FirstName, LastName, GroupName, Id, Errorしかし、私は自分の Person プロパティのみが必要です:FirstName, LastName, GroupName

もちろん、以下のコードで使用されていますが、Personクラスのプロパティのみが含まれているため、私には適していません。

クラスでのみ定義さPersonれているプロパティを取得するにはどうすればよいですか?PersonBase

0 投票する
1 に答える
1227 参照

c# - リフレクションとバインディングフラグの適切な使用

プライベートメソッドを使用できるように以下のコードを変更したい

私は運が悪かったので次のことを試みました:

また、このコードの観点から「var」とは何ですか?varを使用する代わりに、そのタイプを指定することをお勧めします。

ありがとう!

0 投票する
3 に答える
1710 参照

c# - GetProperties メソッドを使用するときに静的プロパティを除外する方法

GetProperties() を使用して特定のクラスのすべてのプロパティを抽出するときに、静的プロパティを除外できるかどうか疑問に思いました。これに BindingFlags を使用して必要なものをフィルタリングすることは知っていますが、本当に欲しいのは静的プロパティを除外したいということです。私はこのようなものを使用しようとします:

しかし、VSが構文エラーをスローするため、機能するとは思いません。これが私のクラス内のプロパティです。

このシナリオでは、GetProperties() を呼び出すときに "DataCtrl" プロパティを除外します。返信ありがとうございます。:)

0 投票する
1 に答える
411 参照

c# - 属性を持つメソッドの BindingFlags

BindingFlags属性を持つ for メソッドを使用することはできますか? 私はmsdnを調べましたがBindingFlags、何も表示されませんでした。これは私の方法の1つがどのように見えるかです:

リフレクションを使用してすべての void メソッドをリストボックスに追加していますが、この属性を持つメソッドだけを追加したいだけです..

これは私が使用している方法ですBindingFlags

methArr-インスタンスはどこMethodInfoですか