Call Non Public Method : MemberInfo « Reflection « C# / C Sharp






Call Non Public Method

        

using System;
using System.Reflection;

namespace Homelidays.Web.SessionService.Tests
{
    /// <summary>
    /// A helper class that eases reflection operations.
    /// voici Les mthodes  implmenter au fur et  mesure des besoins:
    ///     - internal static object CallNonPublicStaticMethod(string className, string methodName)
    ///     - internal static object InstanciateNonPublicClass(string className)
    /// </summary>
    internal static class ReflectionUtility
    {
        /// <summary>
        /// Call a non public method of an object
        /// </summary>
        /// <param name="objectWithNonPublic">Object whose method to call is non public.</param>
        /// <param name="methodName">Name of the method to call.</param>
        /// <param name="parameters">Table of parameters to pass to the method.</param>
        /// <returns>The object returned by the private method to call.</returns>
        internal static object CallNonPublicMethod(object objectWithNonPublic, string methodName, object[] parameters)
        {
            Type type = objectWithNonPublic.GetType();
            MethodInfo method_info = type.GetMethod(methodName, BindingFlags.Instance | BindingFlags.NonPublic);
            var return_object = method_info.Invoke(objectWithNonPublic, parameters);

            return return_object;
        }

    }
}

   
    
    
    
    
    
    
    
  








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 underlying type.
5.Gets the member's value on the object.
6.Sets the member's value on the target object.
7.Determines whether the specified MemberInfo can be read.
8.Determines whether the specified MemberInfo can be set.
9.MemberInfo.DeclaringType Property gets the class that declares this member.
10.MemberInfo.GetCustomAttributes returns an array of all custom attributes applied to this member.
11.Get a MemberTypes value indicating the type of the member(method, constructor, event, and so on.)
12.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.
13.Gets the name of the current member.
14.Gets the class object that was used to obtain this instance of MemberInfo.
15.Marks each type of member that is defined as a derived class of MemberInfo.
16.Gets a MethodBase that represents the declaring method, if the current Type represents a type parameter of a generic method.
17.Gets position of type parameter in the type parameter list of the generic type or method
18.Getter and Setter check
19.Sort Members List