【特性】为了支持可空bean,调整生成的typescript json代码
parent
a471f13488
commit
0bf3824ebb
|
|
@ -41,18 +41,17 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
|
||||||
|
|
||||||
public {{name}}({{- for field in hierarchy_export_fields }}{{cs_define_type field.ctype}} {{field.name}}{{if !for.last}},{{end}} {{end}}) {{if parent_def_type}} : base({{- for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}},{{end}}{{end}}) {{end}}
|
public {{name}}({{- for field in hierarchy_export_fields }}{{cs_define_type field.ctype}} {{field.name}}{{if !for.last}},{{end}} {{end}}) {{if parent_def_type}} : base({{- for field in parent_def_type.hierarchy_export_fields }}{{field.name}}{{if !for.last}},{{end}}{{end}}) {{end}}
|
||||||
{
|
{
|
||||||
{{- for field in export_fields }}
|
{{~ for field in export_fields ~}}
|
||||||
this.{{field.cs_style_name}} = {{field.name}};
|
this.{{field.cs_style_name}} = {{field.name}};
|
||||||
{{-if field.index_field}}
|
{{~if field.index_field~}}
|
||||||
foreach(var _v in {{field.cs_style_name}}) { {{field.cs_style_name}}_Index.Add(_v.{{field.index_field.cs_style_name}}, _v); }
|
foreach(var _v in {{field.cs_style_name}}) { {{field.cs_style_name}}_Index.Add(_v.{{field.index_field.cs_style_name}}, _v); }
|
||||||
{{-end}}
|
{{~end~}}
|
||||||
{{-end}}
|
{{~end~}}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static {{name}} Deserialize{{name}}(JsonElement _buf)
|
public static {{name}} Deserialize{{name}}(JsonElement _buf)
|
||||||
{
|
{
|
||||||
{{if x.is_abstract_type}}
|
{{~if x.is_abstract_type~}}
|
||||||
if (_buf.ValueKind == JsonValueKind.Null) { return null; }
|
|
||||||
switch (_buf.GetProperty(""__type__"").GetString())
|
switch (_buf.GetProperty(""__type__"").GetString())
|
||||||
{
|
{
|
||||||
{{- for child in x.hierarchy_not_abstract_children}}
|
{{- for child in x.hierarchy_not_abstract_children}}
|
||||||
|
|
@ -60,9 +59,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
|
||||||
{{-end}}
|
{{-end}}
|
||||||
default: throw new SerializationException();
|
default: throw new SerializationException();
|
||||||
}
|
}
|
||||||
{{else}}
|
{{~else~}}
|
||||||
return new {{x.full_name}}(_buf);
|
return new {{x.full_name}}(_buf);
|
||||||
{{end}}
|
{{~end~}}
|
||||||
}
|
}
|
||||||
|
|
||||||
{{~ for field in export_fields ~}}
|
{{~ for field in export_fields ~}}
|
||||||
|
|
@ -75,14 +74,16 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
|
||||||
{{~end~}}
|
{{~end~}}
|
||||||
{{~end~}}
|
{{~end~}}
|
||||||
|
|
||||||
{{if !x.is_abstract_type}}
|
{{~if !x.is_abstract_type~}}
|
||||||
public const int ID = {{x.id}};
|
public const int ID = {{x.id}};
|
||||||
public override int GetTypeId() => ID;
|
public override int GetTypeId() => ID;
|
||||||
{{end}}
|
{{~end~}}
|
||||||
|
|
||||||
public {{x.cs_method_modifier}} void Resolve(Dictionary<string, object> _tables)
|
public {{x.cs_method_modifier}} void Resolve(Dictionary<string, object> _tables)
|
||||||
{
|
{
|
||||||
{{~if parent_def_type}}base.Resolve(_tables);{{end}}
|
{{~if parent_def_type~}}
|
||||||
|
base.Resolve(_tables);
|
||||||
|
{{~end~}}
|
||||||
{{~ for field in export_fields ~}}
|
{{~ for field in export_fields ~}}
|
||||||
{{~if field.gen_ref~}}
|
{{~if field.gen_ref~}}
|
||||||
{{cs_ref_validator_resolve field}}
|
{{cs_ref_validator_resolve field}}
|
||||||
|
|
@ -98,9 +99,9 @@ public {{x.cs_class_modifier}} partial class {{name}} : {{if parent_def_type}} {
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return ""{{full_name}}{ ""
|
return ""{{full_name}}{ ""
|
||||||
{{- for field in hierarchy_export_fields }}
|
{{~ for field in hierarchy_export_fields ~}}
|
||||||
+ ""{{field.cs_style_name}}:"" + {{cs_to_string field.cs_style_name field.ctype}} + "",""
|
+ ""{{field.cs_style_name}}:"" + {{cs_to_string field.cs_style_name field.ctype}} + "",""
|
||||||
{{-end}}
|
{{~end~}}
|
||||||
+ ""}"";
|
+ ""}"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -181,7 +182,6 @@ public sealed partial class {{name}}
|
||||||
_data = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_buf[0]);
|
_data = {{cs_define_type value_type}}.Deserialize{{value_type.bean.name}}(_buf[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
{{~ for field in value_type.bean.hierarchy_export_fields ~}}
|
{{~ for field in value_type.bean.hierarchy_export_fields ~}}
|
||||||
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
|
public {{cs_define_type field.ctype}} {{field.cs_style_name}} => _data.{{field.cs_style_name}};
|
||||||
{{~if field.ref~}}
|
{{~if field.ref~}}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue