您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
40 行
1.3 KiB
40 行
1.3 KiB
namespace Unity.UIWidgets.foundation {
|
|
{% macro DiagnosticableMixin(with) %}
|
|
{% set className = 'DiagnosticableMixin' + with %}
|
|
public class {{className}} : {{with}}, IDiagnosticable {
|
|
protected {{className}}() {
|
|
}
|
|
|
|
public virtual string toStringShort() {
|
|
return foundation_.describeIdentity(this);
|
|
}
|
|
|
|
public override string ToString() {
|
|
return toString();
|
|
}
|
|
|
|
public virtual string toString(DiagnosticLevel minLevel = DiagnosticLevel.debug) {
|
|
string fullString = null;
|
|
D.assert(() => {
|
|
fullString = toDiagnosticsNode(style: DiagnosticsTreeStyle.singleLine)
|
|
.toString(minLevel: minLevel);
|
|
return true;
|
|
});
|
|
return fullString ?? toStringShort();
|
|
}
|
|
|
|
public virtual DiagnosticsNode toDiagnosticsNode(
|
|
string name = null,
|
|
DiagnosticsTreeStyle style = DiagnosticsTreeStyle.sparse) {
|
|
return new DiagnosticableNode<{{className}}>(
|
|
name: name, value: this, style: style
|
|
);
|
|
}
|
|
|
|
public virtual void debugFillProperties(DiagnosticPropertiesBuilder properties) {
|
|
}
|
|
}
|
|
{% endmacro %}
|
|
{{ DiagnosticableMixin('ChangeNotifier') }}
|
|
}
|
|
|