gpt4 book ai didi

flutter - flutter 的自定义注解,例如Required

转载 作者:行者123 更新时间:2023-12-03 03:30:16 24 4
gpt4 key购买 nike

我想要的是像@required这样的注释,但是我想根据参数的类型做一些逻辑,并像@required一样显示使用警告。
(如果类型为ParamTuple,则显示警告)

abstract class Tuple {
const Tuple();
}

abstract class NullTuple extends Tuple {
const NullTuple();
}

abstract class ParamTuple extends Tuple {
const ParamTuple();
}
如果类型为ParamTuple,我想警告用户,但在其他情况下,我不想发出警告。
在下面的代码中,应实现该逻辑
const TupleRequired tupleRequired = TupleRequired();

class TupleRequired {
const TupleRequired();
}
我也认为我应该添加 analysis_options.yaml来为我的 @required显示警告,例如 @tupleRequired
我想要的示例
class Example {
// Tuple0 extends NullTuple
void nullParam({@tupleRequired Tuple0 param}) {}

// Tuple1 extends ParamTuple
void withParam({@tupleRequired Tuple1 param}) {}
}
因此,当我们要使用这些方法时,我想看到以下自定义警告:
  • nullParam:如果我将其设置为空,则什么也不显示,但是如果我传递一个参数,则表明该参数是多余的,将被忽略
  • withParam:如果我将其为空,则显示警告传递参数,如果传递参数则不显示
  • 最佳答案

    在构造函数中,您可以使用assert,例如:

    class TupleRequired {
    final Tuple touple;
    TupleRequired(this.touple): assert(touple is! ParamTuple);

    }
    Dart 是/是!检查对象是否具有特定类型,例如
    var s = 'this is a string type';
    print(s is String); // prints true because s is string
    print(s is! int); // prints true because s is not an int

    关于flutter - flutter 的自定义注解,例如Required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64423558/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com