簡體   English   中英

如何使用Dart的分析器API獲取可選參數的默認值?

[英]How do I get the default value of an optional parameter, using Dart's analyzer API?

我正在使用Dart分析器 API,它允許我內省Dart代碼。

這是一些示例代碼:

void soIntense(anything, {bool flag: true, int value}) {  }

請注意flag參數的默認值為true

假設我有一個ParameterElement實例,我怎樣才能得到默認值?

這是我找到的最佳方式。 我希望有更好的方法。

首先,檢查是否存在默認值:

bool hasDefaultValue = _parameter.defaultValueRange != null &&
       _parameter.defaultValueRange != SourceRange.EMPTY;

然后,您可以使用ParameterElementdefaultValueRange

SourceRange range = _parameter.defaultValueRange;
return _parameter.source.contents.data.substring(range.offset, range.end);

用英語:

獲取參數元素的Source的內容數據的子字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM