Mega Code Archive

 
Categories / C# / Reflection
 

Sets the members value on the target object

#region License // Copyright 2006 James Newton-King // http://www.newtonsoft.com // // This work is licensed under the Creative Commons Attribution 2.5 License // http://creativecommons.org/licenses/by/2.5/ // // You are free: //    * to copy, distribute, display, and perform the work //    * to make derivative works //    * to make commercial use of the work // // Under the following conditions: //    * You must attribute the work in the manner specified by the author or licensor: //          - If you find this component useful a link to http://www.newtonsoft.com would be appreciated. //    * For any reuse or distribution, you must make clear to others the license terms of this work. //    * Any of these conditions can be waived if you get permission from the copyright holder. #endregion using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.Collections; using System.ComponentModel; namespace MySpace.Common.IO.JSON.Utilities {     internal static class ReflectionUtils     {         /// <summary>         /// Sets the member's value on the target object.         /// </summary>         /// <param name="member">The member.</param>         /// <param name="target">The target.</param>         /// <param name="value">The value.</param>         public static void SetMemberValue(MemberInfo member, object target, object value)         {             switch (member.MemberType)             {                 case MemberTypes.Field:                     ((FieldInfo)member).SetValue(target, value);                     break;                 case MemberTypes.Property:                     ((PropertyInfo)member).SetValue(target, value, null);                     break;                 default:                     throw new ArgumentException("MemberInfo must be if type FieldInfo or PropertyInfo", "member");             }         }     } }