System.Reflection.DynamicMethodCompiler.CreateGetterDelegate C# (CSharp) Method

CreateGetterDelegate() public static method

Creates the getter delegate.
public static CreateGetterDelegate ( Type type, FieldInfo fieldInfo ) : GetterDelegate
type Type The type.
fieldInfo FieldInfo The field info.
return GetterDelegate
        public static GetterDelegate CreateGetterDelegate(Type type, FieldInfo fieldInfo)
        {
            #if !CompactFramework
            DynamicMethod dynamicGet = CreateDynamicGetMethod(type);
            ILGenerator getGenerator = dynamicGet.GetILGenerator();

            getGenerator.Emit(OpCodes.Ldarg_0);
            getGenerator.Emit(OpCodes.Ldfld, fieldInfo);
            BoxIfNeeded(fieldInfo.FieldType, getGenerator);
            getGenerator.Emit(OpCodes.Ret);

            return (GetterDelegate)dynamicGet.CreateDelegate(typeof(GetterDelegate));
            #else
            return (obj) => fieldInfo.GetValue(obj);
            #endif
        }

Same methods

DynamicMethodCompiler::CreateGetterDelegate ( Type type, PropertyInfo propertyInfo ) : GetterDelegate