Get and set values for a MemberInfo using dynamic methods.
Inheritance: IValueProvider
Esempio n. 1
0
        protected virtual IValueProvider CreateMemberValueProvider(MemberInfo member)
        {
            IValueProvider result;

            if (this.DynamicCodeGeneration)
            {
                result = new DynamicValueProvider(member);
            }
            else
            {
                result = new ReflectionValueProvider(member);
            }
            return(result);
        }
        /// <summary>
        /// Creates the <see cref="IValueProvider"/> used by the serializer to get and set values from a member.
        /// </summary>
        /// <param name="member">The member.</param>
        /// <returns>The <see cref="IValueProvider"/> used by the serializer to get and set values from a member.</returns>
        protected virtual IValueProvider CreateMemberValueProvider(MemberInfo member)
        {
            // warning - this method use to cause errors with Intellitrace. Retest in VS Ultimate after changes
            IValueProvider valueProvider;

#if !(SILVERLIGHT || PORTABLE)
            if (DynamicCodeGeneration)
            {
                valueProvider = new DynamicValueProvider(member);
            }
            else
            {
                valueProvider = new ReflectionValueProvider(member);
            }
#else
            valueProvider = new ReflectionValueProvider(member);
#endif

            return(valueProvider);
        }