問題タブ [propertyinfo]

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 投票する
2 に答える
30119 参照

c# - 別のオブジェクトの配列を含むオブジェクトのリフレクション読み取りプロパティの使用

c# でリフレクションを使用して、配列型の要素を含むオブジェクトのプロパティを読み取るにはどうすればよいですか? GetMyProperties というメソッドがあり、オブジェクトがカスタム タイプであると判断した場合、配列のプロパティとその中の値を読み取るにはどうすればよいでしょうか。IsCustomType は型がカスタム型かどうかを判定するメソッドです。

シナリオは、ArrayClass のオブジェクトがあり、ArrayClass には 2 つのプロパティがあります。

DeptArray は、2 つのプロパティを持つ別のクラスです。

したがって、このメソッドは ArrayClass のオブジェクトを取得します。すべてのプロパティを上から下に読み取り、名前と値のペアをディクショナリ/リスト項目に保存したいと考えています。値、カスタム、列挙型に対してそれを行うことができます。オブジェクトの配列に行き詰まりました。それを行う方法がわからない。

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

dynamic - C# を使用して、実行時にパラメーター、プロパティ、および戻り値の型を読み取る 1 つの方法

以前のスレッドUsing Reflection read properties of an object containing array of another objectに続きます。EvgK のこの素晴らしいメソッドを、私のコード ベースの複数の場所で使用できる汎用メソッドにしたいと考えています。

繰り返しますが、ユーザーから渡されたメソッドを読み取ろうとしています。パラメータ、そのプロパティ、および値をリストします。ユーザーが入力値を提供したら、メソッドを動的に呼び出して結果オブジェクトを取得します。結果は GetMyProperties() メソッドに渡され、メソッドはすべてのプロパティ (n レベルまで) - 名前、値、および型をリストします。

現在、2 つの方法があります (以下の定義)。

最初のものを使用して、選択したメソッドのすべてのパラメーターのリストとそのプロパティ (名前、値、および型) を表示します。

..ユーザーがパラメーターを入力できるように、プロパティのリストを作成します。カスタム タイプかどうかの ParameterType および GetProperties メソッド チェックに合格します。カスタムタイプの場合、入力用のグリッドにバインドするリストを作成するために、タイプを使用して再帰的に呼び出します。

2 番目のメソッド GetMyProperties(object obj) は、返されるオブジェクトを一覧表示するために使用されます。コンパイル時に選択したメソッドの戻り値の型がわからないため、オブジェクト型を使用します。2 番目のメソッドを何らかの方法で変更して、パラメーター、プロパティ、および戻り値の型を読み取るために使用できるかどうかを知りたいですか? 別々の方法を持つ代わりに?コードの再利用を試みています。

0 投票する
2 に答える
904 参照

.net - PropertyInfo.GetValueを使用してゲッターを持たないAutoPropertyの値を取得する

単体テストで文字列プロパティの値を取得しようとしています。問題は、プロパティにゲッターがないことです。プロパティもAutoPropertyとして宣言されており、バッキングフィールドはありません。

System.Reflection名前空間でPropertyInfo.GetValue(...)を使用しようとしています。ただし、System.ArgumentExceptionが発生します:プロパティGetメソッドが見つかりませんでした。

私はそのタイプのコードを所有していないため、プロパティにゲッターを追加できません。

そのようなプロパティの値をどのように取得しますか?

0 投票する
2 に答える
4126 参照

c# - いくつかのプロパティを含むカスタムクラス型の不明なオブジェクトのリストをメソッドに渡す方法は?

SQLCE データベースにアクセスするためのメソッドを含むデータベース ヘルパー クラスを作成しています。異なるテーブルのフィールドに一致するプロパティを含む異なるクラスを使用して、同じメソッドを使用して行を読み取りたいと考えています。使用するクラスは実行時に決定され、オブジェクトのリストをクラスからメソッドに渡し、プロパティ名を取得し、それらを使用してデータベースを読み取ります。すべての (SQLCE-) データベースに使用できるので、非常に便利です。

(ここで解決策を提供するために、エラーのあるコードを更新しました)

2 つの質問がありました。

1) このリストを不明な型で渡すにはどうすればよいですか? これまでに見つけた回答は、この問題の解決には役立ちませんでした。

2) コンパイル エラーを発生させずにリストに追加するために、未知の型のクラスのオブジェクトを (コンパイル時に) インスタンス化するにはどうすればよいですか?

どうもありがとう!

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

linq - linq を使用してオブジェクトのプロパティをクエリする

タイプのプロパティと注釈付き属性をスキャンし、次の構造を持つオブジェクトを返したい

このクエリがあります

これは遅延して実行されるためPropertyContext、呼び出し元のメソッドがそれらを必要とする間だけ生成します。


PropertyValue今、私はオブジェクトのプロパティを埋めたいと思っていPropertyContextます。

プロパティの値を取得するには、このような他のコンポーネントを呼び出します

私の質問は、どのようにクエリを変更できるかということです *

  • 値は一度だけ読み取られます
  • ただし、PropertyContext が作成された場合のみ
0 投票する
3 に答える
9719 参照

c# - リフレクションを介してクラス内のプロパティの「クラスタイプ」を取得するにはどうすればよいですか?

ここにコードがあります

Orderオブジェクトを調べようとしています。今私がしたいのはそれです:すべてのプロパティを取得し、たとえばクラスタイプを見つけようとします

別のクラスであるタイプ「OrderDetail」を取得したいと思います。PropertyInfo.PropertyTypeを使用して取得しようとすると、「List1」(ジェネリック型)が取得され、PropertyInfo.GetType()はSystem.Reflection.RuntimeTypeを提供し、PropertyInfo.DeclaringTypeは「Order」(プロパティを含むクラス)を提供します。誰かが解決策を提案できれば私は義務付けられます。前もって感謝します。

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

c# - PropertyInfo.GetValue(myObject、null).GetType()は、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を返します。

MembershipUserCollectionをGridViewで使用するDataSetに変換しようとしています。このヘルパークラスは、すべてのメンバーシップの行とプロパティをループし、値とタイプを取得してDataRowsにプッシュします。

プロパティに値がある場合は機能しますが、null値がある場合は、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが返されなくなります。

この特定の例では、値が「null」の場合、コメントフィールドで中断します。

これが発生する私のコードです:

どんな助けでも大歓迎です。

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

blackberry - Ksoap ブラックベリー PropertyInfo.setValue

だから私は PropertyInfo を使用して、石鹸リクエストで複雑なオブジェクトを渡し、Android で正常に動作しています。サンプル:

//envelope は名前空間マッピングを持つ KvmSerializable クラスです。

今、私はブラックベリーに対して同じことをしようとしていますが、「setName」または「setValue」パラメーターが好きではありません。

何か案は?

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

c# - PropertyInfo.SetValue(object obj, object val, object[] index) property value doesn't change on changing "object val"

I have come across a very weird problem. I am trying to set a property of a particular object assigning it a value of another project via

both obj and val are reference type but the problem is that I want the value of obj's property to change when the value of val changes. But unfortunately this doesn't happen. Is there any way to achieve what I want to do.

Regards

Umair

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

reflection - IQueryable によるリフレクション

オブジェクトの任意のプロパティで並べ替える IQueryable の拡張メソッドを作成しようとしています。

メソッドを呼び出すと、このエラーが発生します。IQueryable が実行されておらず、オブジェクトをまだ取得していないことに関係していると思います。

LINQ to Entities はメソッドを認識せずSystem.Object GetValue(System.Object, System.Object[])、このメソッドをストア式に変換できません。

IQueryable で ToList を実行することで解決できますが、拡張メソッドでデータを取得しますが、それは私が望むものではありません。

これは解決できますか?