5
我正在使用Dart的analyzer API,它允許我對Dart代碼進行內省。如何使用Dart的分析儀API獲取可選參數的默認值?
下面是一些示例代碼:
void soIntense(anything, {bool flag: true, int value}) { }
通知的flag
參數有着怎樣的true
默認值。
如何獲得默認值,假設我有一個ParameterElement
的實例?
我正在使用Dart的analyzer API,它允許我對Dart代碼進行內省。如何使用Dart的分析儀API獲取可選參數的默認值?
下面是一些示例代碼:
void soIntense(anything, {bool flag: true, int value}) { }
通知的flag
參數有着怎樣的true
默認值。
如何獲得默認值,假設我有一個ParameterElement
的實例?
這是我找到的最佳方式。我希望有更好的方法。
首先,檢查是否有一個默認值:
bool hasDefaultValue = _parameter.defaultValueRange != null &&
_parameter.defaultValueRange != SourceRange.EMPTY;
然後,您可以使用ParameterElement
的defaultValueRange
。
SourceRange range = _parameter.defaultValueRange;
return _parameter.source.contents.data.substring(range.offset, range.end);
英文:
獲取參數元素的來源的內容數據的字符串。