首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart使用*进行一些方法,而不是定义本身

Dart使用*进行一些方法,而不是定义本身
EN

Stack Overflow用户
提问于 2020-09-21 20:58:48
回答 1查看 32关注 0票数 1

你认为我有这个扩展:

代码语言:javascript
复制
extension MyWidget on Widget {
  Widget p(double padding) => Padding(padding: EdgeInsets.all(padding), child: this);
  Widget p0(double padding) => Padding(padding: EdgeInsets.zero, child: this);
  Widget p1(double padding) => Padding(padding: EdgeInsets.all(1), child: this);
  Widget p2(double padding) => Padding(padding: EdgeInsets.all(2), child: this);
  Widget p3(double padding) => Padding(padding: EdgeInsets.all(3), child: this);
  Widget p4(double padding) => Padding(padding: EdgeInsets.all(4), child: this);
  Widget p5(double padding) => Padding(padding: EdgeInsets.all(5), child: this);
  Widget p6(double padding) => Padding(padding: EdgeInsets.all(6), child: this);
  Widget p7(double padding) => Padding(padding: EdgeInsets.all(7), child: this);
  Widget p8(double padding) => Padding(padding: EdgeInsets.all(8), child: this);
  Widget p9(double padding) => Padding(padding: EdgeInsets.all(9), child: this);
  Widget p10(double padding) => Padding(padding: EdgeInsets.all(10), child: this);

  Widget center() => Center(child: this);
}

我怎样才能有这个样例方法而不是所有的定义?

代码语言:javascript
复制
/* Center().p2 */
/* Center().p8 */
extension MyWidget on Widget {
  Widget p(double padding) => Padding(padding: EdgeInsets.all(padding), child: this);
  Widget p*() => Padding(padding: *, child: this);

  Widget center() => Center(child: this);
}

我知道,我可以在下面进行扩展,但是我想知道这个实现是否可以在dart中定义

代码语言:javascript
复制
/* Center().p(2) */
extension MyWidget on Widget {
  Widget p(double padding) => Padding(padding: EdgeInsets.all(padding), child: this);

  Widget center() => Center(child: this);
}
EN

回答 1

Stack Overflow用户

发布于 2020-09-22 01:07:28

不,创建动态签名的语法或类似的语法是不可能的。

如果你想为类似的功能创建不同的签名,代码生成通常是你想要查看的工具,但在这种情况下,我怀疑它是你想要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63992774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档