private static void EmitResolveParameter(ILGenerator il, ParameterInfo param) { ParameterAttribute attr = GetParameterAttribute(param); IParameterResolver resolver = ParameterResolverMap.GetResolver(attr); resolver.EmitParameterResolution(il, attr, param.ParameterType); }
private void EmitResolveProperty(ILGenerator il, PropertyInfo prop) { ParameterAttribute attr = GetParameterAttribute(prop); IParameterResolver resolver = ParameterResolverMap.GetResolver(attr); resolver.EmitParameterResolution(il, attr, prop.PropertyType); if (prop.PropertyType.IsValueType) { il.Emit(OpCodes.Unbox_Any, prop.PropertyType); } }