Set Non-Pubic Property : PropertyInfo « Reflection « C# / C Sharp





Set Non-Pubic Property

  

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 property of an object.
        /// </summary>
        /// <param name="instance">Object whose method to call is private.</param>
        /// <param name="propertyName">Name of the property to call.</param>
        /// <param name="value">Value to pass to the porperty setter</param>
        /// <returns>The object returned by the private method to call.</returns>
        internal static object SetNonPubicProperty(object instance, string propertyName, object value)
        {
            Type type = instance.GetType();
            var parameters = new object[1]; // alwasy 1 because a property setter could only have one parameter
            var return_object = type.InvokeMember(
                propertyName,
                BindingFlags.Instance | BindingFlags.SetProperty,
                null,
                instance,
                parameters);

            return return_object;
        }


    }
}

   
    
  










Related examples in the same category

1.Obtaining member information from a class.
2.Print Property Info
3.Type.GetProperties
4.IsClass, Namespace, FullName, IsAbstract, IsPublic, IsInterface, IsEnum
5.Determines whether the member is an indexed property.
6.Determines whether the property is an indexed property.
7.Get Fields And Properties
8.Get Properties
9.Gets a property's value
10.Gets a property's type
11.Gets a property's parent object
12.Get Property from Property path
13.Copies a field value
14.Get the names of all the properties of an object
15.Determine if a property exists in an object
16.Get the type of the Property.
17.Set the value of a property that has been declared as an Enum type using reflection
18.Determine if a property's Type is an enum
19.Return true> if the specified property name identifies a readable property on the specified object;
20.Return true> if the specified property name identifies a writeable property on the specified object;
21.Integration Property To String
22.Gets the value of a static property on a specific type.
23.Gets the name of the property held within the expression
24.Gets the specified attribute from the PropertyDescriptor.
25.Get a property value given its name
26.Gets the attributes for this property.
27.Gets a value indicating whether the property can be read.
28.Gets a value indicating whether the property can be written to.
29.Returns an array whose elements reflect the public, non-public get, set, and other accessors
30.Returns the public or non-public get accessor for this property.
31.Get an array of all the index parameters for the property.
32.Get the set accessor for this property.
33.Returns the value of the property with optional index values for indexed properties.
34.Gets a MemberTypes value indicating that this member is a property.
35.Gets the type of this property.
36.Sets the property value for the given object to the given value.
37.Searches for the specified property, using the specified binding constraints.
38.Searches for the public property with the specified name and return type.
39.Get Non-Pubic Property
40.Gets a string with all of the properties that are not null.
41.Get Writable Properties
42.Get Property Name