{{- $proxy := .}}{{$sheet := $proxy.Sheet}}{{$excel := $proxy.Excel}}{{$ctx := $proxy.TitleCtx -}}
{{- $clsName := $proxy.ClassName}}{{$fields := $proxy.GetFields -}}
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was auto-generated by ExcelExporter
//     version 2.0
//     from https://github.com/xuzhuoxi/ExcelExporter 
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace {{$proxy.Namespace}} { 
    /**
	 * @author {AUTHOR}
	 * Created on {NowTimeStr} .
	 * {{$ctx.RangeName}} {{$ctx.RangeType}} {{$ctx.Language}}
	 */
	export class {{$clsName}} {
        // 以下为属性声明
        {{- range $index, $value := $fields}}
         // {{$value.TitleName}}
        private _{{ToLowerCamelCase $value.FieldLangName}}: {{$value.LangType}};
        {{- end}}

        // 以下为Get方法
        {{- range $index, $value := $fields}}
        /**
         * {{$value.TitleName}}
         * @remark
         *   {{$value.TitleRemark}}
         * @return {{$value.LangType}}
         */
        get {{ToLowerCamelCase $value.FieldLangName}}(): {{$value.LangType}} {
            return this._{{ToLowerCamelCase $value.FieldLangName}};
        }
        {{- end}}

        // 以下为解释数据方法

        // Json数据解释
        public fromJsonOverride(data: any): void {
            // 以下为从 Json数据代理 中解释出字段数据
            {{- range $index, $value := $fields}}
            this._{{ToLowerCamelCase $value.FieldLangName}} = data.{{$value.GetFileKey "json"}};
            {{- end}}
        }

        // 二进制数据解释
        public fromBinaryOverride(proxy: xu.BinaryReaderProxy): void {
            // 以下为从 二进制数据代理 中解释出字段数据
            {{- range $index, $value := $fields}}{{$define := $value.LangTypeDefine}}
            this._{{ToLowerCamelCase $value.FieldLangName}} = proxy.{{$define.GetGetOperate "bin"}}();
            {{- end}}
        }
	}
}