#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 { public static bool HasDefaultConstructor(Type t) { if (t == null) throw new ArgumentNullException("t"); return (t.GetConstructor(BindingFlags.Public | BindingFlags.Instance, null, new Type[0], null) != null); } } }
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); } }
The full name of the Array type
using System; class TestFullName { public static void Main() { Type t = typeof(Array); Console.WriteLine("The full name of the Array type is {0}.", t.FullName); } }
Get Derivation from an object
[/csharp][/csharp][/csharp][/csharp][/csharp]
Get all methods from an object
[/csharp][/csharp][/csharp][/csharp][/csharp]
Makes a shallow copy of the object
[/csharp][/csharp][/csharp][/csharp][/csharp]
Makes a shallow copy of the object to a different class type (inherits from the original)
[/csharp][/csharp][/csharp][/csharp][/csharp]