Beispiel #1
0
        /// <summary>
        /// Facade to set a value to a property or field
        /// </summary>
        /// <param name="member"></param>
        /// <param name="data"></param>
        /// <param name="value"></param>
        public static void SetValue(this MemberInfo member, object data, object value)
        {
            var prop = member as PropertyInfo;

            if (prop != null)
            {
                member.CastAs <PropertyInfo>().SetValue(data, value);
                return;
            }
            var field = member as FieldInfo;

            if (field != null)
            {
                member.CastAs <FieldInfo>().SetValue(data, value);
                return;
            }

            throw new NotSupportedException("Only fields and non indexed properties are supported");
        }