static void EmitAttribute(ILGenerator gen, string attribute) { // Stack behavior: ... => ..., (object)result //$value=self.GetAttribute($i3.text); EmitLoadSelf(gen); gen.Emit(OpCodes.Ldstr, attribute); gen.Emit(OpCodes.Call, GetFuncMethodInfo((StringTemplate self, string attr) => self.GetAttribute(attr))); }