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

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

dart - リフレクション (ミラー) を使用して Dart クラスのメソッド名にアクセスするにはどうすればよいですか?

Dart クラスのメソッドを「フェッチ」する必要があります。

これどうやってするの?

そして、メソッドを呼び出せるようにしたいです。

例を見てもいいですか?

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

dart - Dartでの動的クラスメソッドの呼び出し

PHPでの動的クラスメソッド呼び出しの質問のように、これをDartで実行したいと思います。

それは可能ですか?

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

dart - Dartで関数の存在をテストするにはどうすればよいですか?

Dart の関数またはメソッドの存在を、呼び出して NoSuchMethodError エラーをキャッチすることなくテストする方法はありますか? 私は次のようなものを探しています

指定された関数が存在するかどうかをテストしfunc_nameます。前もって感謝します!

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

dart - 文字列からクラスをインスタンス化する

ダーツでは、文字列からクラスをインスタンス化することは可能ですか?

例えば:

  • javascript のバニラ:
  • 目的 C:
0 投票する
1 に答える
2537 参照

generics - Dart でミラーを使用してジェネリック型変数の具象型を取得するにはどうすればよいですか?

Listこのようなofがあると仮定Stringします。

ミラーを使用して sでmyListあることをどのように把握できますか?ListString


typeVariablesofを使用してみましたが、ミラーは一般的なクラスClassMirrorを記述しているようです。List

ドキュメントでもこれを見つけましたが、アクセスしても がスローされないClassMirrorインスタンスをまだ見つけていません。originalDeclarationNoSuchMethodError

final ClassMirror originalDeclaration

この型の元の宣言のミラー。

ほとんどのクラスでは、それらは独自の独自の宣言です。ただし、ジェネリック クラスの場合、バインドされていない型変数を持つ元のクラス宣言と、バインドされた型変数を持つジェネリック クラスのインスタンス化には違いがあります。

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

dart - Retrieving getter values with dart:mirrors reflection

I have the following code (simplified), that uses reflection to iterate a class's fields and getters and output the values. The ContainsGetter class contains a getter, and the ContainsField class contains a simple field.

Using dart:mirrors library, I can get the value of the field by using instanceMirror.getField(fieldName)), but not the getter by using instanceMirror.invoke(fieldName,[]).

The following Dart script (using the build 17463) gives the output below:

app script

output

(An acceptable could be that "this bit just hasn't been written yet!")

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

dart - Dartでクラスを動的にロードする

それで、私はミラーを調べました、そしてそれらはオプションかもしれません、しかしそれらの非同期性を考えると、それらは本当に使いにくいか、あるいは単に長期的には実行可能ではないかもしれません。それらは現在サポートされていないので(単なる遊び道具)、とにかく現時点では実際には実行可能ではありません。

質問:一連の文字列が与えられた場合、たとえば。[ "Foo", "Bar" ]基本クラスApplicationWidgetin、library corelib;および各文字列の対応するクラスFooWidgetBarWidgetinは、文字列を対応するクラスのインスタンスに変換するlibrary applibrary;ための現在最も洗練されたメソッドであり、dart2jsで機能しますApplication

明確にするための同等のPHP疑似例、

出力

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

dart - dartにpythonのdir()に相当するものはありますか?

タイトルが言うように、dir()ダーツにPythonに相当するものはありますか?

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

dart - Dart Mirror API: リフレクション呼び出しの結果を取得する

未来を返すミラーを持つことは、それらでできることを劇的に制限します。

例えば、

私が通常行う方法は、MagicalDynamicWrapper で noSuchMethod を定義することです。

  • メソッドマップにそのような名前のメソッドがあるかどうかを確認し、それを呼び出します。
  • 存在しない場合は、リフレクションを介して「実際の」オブジェクトを呼び出します。

残念ながら、実際のオブジェクトを呼び出すと、常に未来が返されます。だからうまくいかない。

ある時点で (値ゲッターを使用して) Future の値を取得することができましたが、そのゲッターは使用できなくなりました。

私の質問:

リフレクション呼び出しの結果を同期的に取得する方法はありますか?

分散設定では、先物は間違いなく進むべき道です。しかし、すべてのメタ情報が利用可能な非分散設定では、リフレクション呼び出しの値を取得できるはずです。テスト フレームワークとビルド ツールの作成者にとって、私は大きな違いをもたらすでしょう。