6

dart で拡張メソッドを作成できますか? C# でできるように、例:

void swap(this CssClassSet ccs, String oldClass, String newClass)
{
    ccs.remove(oldClass);
    ccs.add(newClass);
}

Dartでこの種のことが可能ですか?メソッドを持つように CssClassSet を拡張したいと思いswap(String oldClass, String newClass)ます。

4

3 に答える 3

3

まだ。issue 9991-scoped object extensionsを参照してください。

于 2013-07-26T13:42:11.227 に答える
3

はい、これはDart で導入されました2.6

構文は次のとおりです。

extension YourExtension on YourClass {
  void yourFunction() {
    this.anyMember(); // You can access `anyMember` of `YourClass` using `this`.
    anyMember(); // You can access `anyMember` of `YourClass` without `this`.
  }
}

void main() {
  YourClass yourVariable;

  yourVariable.yourFunction(); // valid
}

次のようなタイプを拡張することもできますint

void main() {
  5.fancyPrint();
  3.minusThree; // returns 0
}

extension FancyInt on int {
  void fancyPrint() => print('The magic number is $this.');

  int get minusThree => this - 3;
}

詳細については、こちらをご覧ください

于 2019-12-18T13:50:08.280 に答える