예제 #1
0
        /// <summary>
        ///     Creates dynamic field instance for the specified <see cref="FieldInfo" />.
        /// </summary>
        /// <param name="field">Field info to create dynamic field for.</param>
        /// <returns>Dynamic field for the specified <see cref="FieldInfo" />.</returns>
        public static IDynamicField Create(FieldInfo field)
        {
            AssertUtils.ArgumentNotNull(field, "You cannot create a dynamic field for a null value.");

            IDynamicField dynamicField = new SafeField(field);
            return dynamicField;
        }
예제 #2
0
        /// <summary>
        ///     Creates dynamic field instance for the specified <see cref="FieldInfo" />.
        /// </summary>
        /// <param name="field">Field info to create dynamic field for.</param>
        /// <returns>Dynamic field for the specified <see cref="FieldInfo" />.</returns>
        public static IDynamicField Create(FieldInfo field)
        {
            AssertUtils.ArgumentNotNull(field, "You cannot create a dynamic field for a null value.");

            IDynamicField dynamicField = new SafeField(field);

            return(dynamicField);
        }
 public FieldValueAccessor(FieldInfo fieldInfo)
 {
     _field = new SafeField(fieldInfo);
     _isWriteable = !(fieldInfo.IsInitOnly || fieldInfo.IsLiteral);
     _targetType = fieldInfo.FieldType;
     _contextType = fieldInfo.DeclaringType;
 }