internal CachedField(FieldInfo fieldInfo)
        {
            _get = CustomFastReflectionHelper.CreateFastFieldGetter <object, object>(fieldInfo);
            _set = CustomFastReflectionHelper.CreateFastFieldSetter <object, object>(fieldInfo);

            FieldType = fieldInfo.FieldType;
        }
        internal CachedProperty(PropertyInfo propertyInfo)
        {
            if (propertyInfo.CanRead)
            {
                _get = CustomFastReflectionHelper.CreateFastDelegate(propertyInfo.GetGetMethod(true));
            }

            if (propertyInfo.CanWrite)
            {
                _set = CustomFastReflectionHelper.CreateFastDelegate(propertyInfo.GetSetMethod(true));
            }

            PropertyType = propertyInfo.PropertyType;
        }
 internal CachedMethod(MethodInfo method)
 {
     _invoke = CustomFastReflectionHelper.CreateFastDelegate(method);
 }