問題タブ [dart-mirrors]
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.
dart - ミラーで宣言された型を取得するには?
TypeMirror が反映している Type を取得する方法はありますか? 上記の例の 2 つのプロパティdynamic
の型と型を返したいですか?int
dart - ダーツ、クラスのインスタンスが与えられた場合、それが継承するすべてのタイプのリストを昇順で取得することは可能ですか?
私が持っている場合:
このようなタイプのリストを取得することは可能ですか?
dart - ダーツミラーの問題。getField
ミラーを使用しようとしていますが、いくつかの単純なコードにエラーがあります。
結果:
その意味?何も思いつきません。文字列から '_name@0x1aab143' を取るのはなぜですか? 黒魔術...
dart - ミラーを使用して Dart のクラスのプロパティの型を取得するにはどうすればよいですか?
私がこのクラスを持っているとすれば
そして、「年齢」を含む文字列があること。
int
aClassMirror
または anからフィールド タイプを取得するにはどうすればよいInstanceMirror
ですか?
dart - Dartでリフレクションを使用してClassMirrorからゲッターや属性を取得しますか?
以前のバージョンの dart では、getter を使用して取得できました。
この回答に投稿されているように: https://stackoverflow.com/a/14505025/2117440
ただし、実際のバージョンは削除され、機能が削除されて置き換えられました
最後のコードは、すべての属性、ゲッター、セッター、メソッド、およびコンストラクターを取得します。他の方法を使わずに「ゲッターと属性」だけを取得する方法があれば教えていただきたいです。
私が現在使用しているコードは次のとおりです。
前のコードでわかるように、 がコンストラクターでないかどうかを確認するには、 を と比較する必要がありdeclaration.simpleName
ますcm.simpleName
。文字列を比較しているので、私が理解するまでは非効率的です。
結論として、この問題を解決するためのより良い方法があるかどうかを知りたいです。
json - Dartのクラスなしで文字列/シンボルからオブジェクトのインスタンスを作成しますか?
このリンクに示されているようなシンボルからインスタンスを作成できることを私は知っています:
Dartで文字列からオブジェクトのインスタンスを作成しますか?
しかし、私がやりたいのはクラスを持たずにインスタンスを作成することなので、これはうまくいきません。
この問題は、内部リストを持つクラスが 1 つあるために発生します。
そして、マップをこのクラスに変換したい:
今、私はこのようなことをしています:
ご覧のとおり、実際には機能していない行は次のとおりです。
localClassMirror
ではなく でインスタンスを作成しているためMyNestedClass
です。次のような方法を探しています。
次の URL で完全なソース コードを確認できます。
annotations - Dart では、実行時にリフレクションを使用してメタデータ (注釈など) を取得できますか?
もしそうなら、これはどのように達成されますか?そうでない場合、今後の Dart リリースでこれをサポートする予定はありますか? 私は主に、独自に作成したカスタム注釈について言及しています。
このドキュメント リンクhttps://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.d0rowtffuudfでは、「メタデータは、プログラム コンストラクト p の抽象構文ツリーに関連付けられています。 p 自体がメタデータでもコメントでもないと仮定すると、メタデータの直後に続く . メタデータは、リフレクションを介して注釈付きプログラム構造 p にアクセスできる場合、リフレクション呼び出しを介して実行時に取得できます。
M3 リリースの時点では、メタデータへのリフレクティブ アクセスはまだ実装されていません。"
ありがとうございました。