Flutter 需要类似的颤振自定义注释
我想要的是像Flutter 需要类似的颤振自定义注释,flutter,dart,Flutter,Dart,我想要的是像@required这样的注释,但我想根据参数类型执行一些逻辑,并像@required那样显示使用警告。 (如果类型为ParamTuple则显示警告) 如果类型是ParamTuple,我想警告用户,但在其他情况下,我不想警告 在下面的代码中,应实现逻辑 const TupleRequired tupleRequired = TupleRequired(); class TupleRequired { const TupleRequired(); } 另外,我认为我应该添加一个分
@required
这样的注释,但我想根据参数类型执行一些逻辑,并像@required
那样显示使用警告。
(如果类型为ParamTuple
则显示警告)
如果类型是ParamTuple,我想警告用户,但在其他情况下,我不想警告
在下面的代码中,应实现逻辑
const TupleRequired tupleRequired = TupleRequired();
class TupleRequired {
const TupleRequired();
}
另外,我认为我应该添加一个分析\u options.yaml
,为我的@tupleRequired
显示类似@required
的警告
我想要的示例
class Example {
// Tuple0 extends NullTuple
void nullParam({@tupleRequired Tuple0 param}) {}
// Tuple1 extends ParamTuple
void withParam({@tupleRequired Tuple1 param}) {}
}
因此,当我们想要使用这些方法时,我希望看到以下自定义警告:
nullParam
:如果我将其置为空,则不显示任何内容,但如果我传递一个参数,则表明该参数是多余的,将被忽略withParam
:如果我将其置为空,则显示传递参数的警告,如果传递参数,则不显示任何内容在构造函数中,您可以使用如下断言:
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
我不确定我是否理解你的要求。你能举一个你想要的代码和你想要收到的信息的例子吗?我添加了一个例子,希望它能帮助我澄清我想要的东西,
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