Mega Code Archive

 
Categories / C# / Reflection
 

Change type

using System; using System.ComponentModel;     public class Convertors     {         /// <summary>         /// See Convert.ChangeType.         /// </summary>         /// <typeparam name="T">New type, may be Nullable.</typeparam>         /// <param name="value">Object</param>         /// <returns>Typed object.</returns>         public static T ChangeType<T>(object value)         {             Type conversionType = typeof(T);             if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>)))             {                 if (value == null)                 {                     return default(T);                 }                 else                 {                     NullableConverter nullableConverter = new NullableConverter(conversionType);                     conversionType = nullableConverter.UnderlyingType;                 }             }             return (T)Convert.ChangeType(value, conversionType);         }     }