internal override void MethodGen() { Parent.Class.Fields.TryGetValue("Length", out Field lengthField); Parent.Class.Fields.TryGetValue("Data", out Field dataField); // 复制Length Constructor.AddLocal(Method.Params[1].Offset); // 传入的String Constructor.AddLoadT(Method.Params[1].Type); Constructor.AddLoadNonStatic(lengthField.ConstantPoolIndex); Constructor.AddLocal(Method.Params[0].Offset); // 构造对象 Constructor.AddLoadT(Method.Params[0].Type); Constructor.AddStoreNonStatic(lengthField.ConstantPoolIndex); Constructor.AddPop(lengthField.Type); // 复制Data Constructor.AddLocal(Method.Params[1].Offset); // 传入的String Constructor.AddLoadT(Method.Params[1].Type); Constructor.AddLoadNonStatic(dataField.ConstantPoolIndex); Constructor.AddLocal(Method.Params[0].Offset); // 构造对象 Constructor.AddLoadT(Method.Params[0].Type); Constructor.AddStoreNonStatic(dataField.ConstantPoolIndex); Constructor.AddPop(dataField.Type); Constructor.AddRet(); }