Gets the member's underlying type. : MemberInfo « Reflection « C# / C Sharp






Gets the member's underlying type.

     


#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>
        /// Gets the member's underlying type.
        /// </summary>
        /// <param name="member">The member.</param>
        /// <returns>The underlying type of the member.</returns>
        public static Type GetMemberUnderlyingType(MemberInfo member)
        {
            switch (member.MemberType)
            {
                case MemberTypes.Field:
                    return ((FieldInfo)member).FieldType;
                case MemberTypes.Property:
                    return ((PropertyInfo)member).PropertyType;
                case MemberTypes.Event:
                    return ((EventInfo)member).EventHandlerType;
                default:
                    throw new ArgumentException("MemberInfo must be if type FieldInfo, PropertyInfo or EventInfo", "member");
            }
        }
    }
}

   
    
    
    
    
  








Related examples in the same category

1.Get MethodInfo and MemberInfo
2.Deeper Reflection:Finding MembersDeeper Reflection:Finding Members
3.Get variable base type and public numbers
4.Gets the member's value on the object.
5.Sets the member's value on the target object.
6.Determines whether the specified MemberInfo can be read.
7.Determines whether the specified MemberInfo can be set.
8.MemberInfo.DeclaringType Property gets the class that declares this member.
9.MemberInfo.GetCustomAttributes returns an array of all custom attributes applied to this member.
10.Get a MemberTypes value indicating the type of the member(method, constructor, event, and so on.)
11.Gets the module in which the type that declares the member represented by the current MemberInfo is defined.Gets the module in which the type that declares the member represented by the current MemberInfo is defined.
12.Gets the name of the current member.
13.Gets the class object that was used to obtain this instance of MemberInfo.
14.Marks each type of member that is defined as a derived class of MemberInfo.
15.Gets a MethodBase that represents the declaring method, if the current Type represents a type parameter of a generic method.
16.Gets position of type parameter in the type parameter list of the generic type or method
17.Getter and Setter check
18.Sort Members List
19.Call Non Public Method