Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

PropertyInfo.SetValue Method (Object, Object, BindingFlags, Binder, Object[], CultureInfo)

 

When overridden in a derived class, sets the property value for a specified object that has the specified binding, index, and culture-specific information.

Namespace:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

public abstract void SetValue(
	object obj,
	object value,
	BindingFlags invokeAttr,
	Binder binder,
	object[] index,
	CultureInfo culture
)

Parameters

obj
Type: System.Object

The object whose property value will be set.

value
Type: System.Object

The new property value.

invokeAttr
Type: System.Reflection.BindingFlags

A bitwise combination of the following enumeration members that specify the invocation attribute: InvokeMethod, CreateInstance, Static, GetField, SetField, GetProperty, or SetProperty. You must specify a suitable invocation attribute. For example, to invoke a static member, set the Static flag.

binder
Type: System.Reflection.Binder

An object that enables the binding, coercion of argument types, invocation of members, and retrieval of MemberInfo objects through reflection. If binder is null, the default binder is used.

index
Type: System.Object[]

Optional index values for indexed properties. This value should be null for non-indexed properties.

culture
Type: System.Globalization.CultureInfo

The culture for which the resource is to be localized. If the resource is not localized for this culture, the CultureInfo.Parent property will be called successively in search of a match. If this value is null, the culture-specific information is obtained from the CultureInfo.CurrentUICulture property.

Exception Condition
ArgumentException

The index array does not contain the type of arguments needed.

-or-

The property's set accessor is not found.

-or-

value cannot be converted to the type of PropertyType.

TargetException

The object does not match the target type, or a property is an instance property but obj is null.

TargetParameterCountException

The number of parameters in index does not match the number of parameters the indexed property takes.

MethodAccessException

There was an illegal attempt to access a private or protected method inside a class.

TargetInvocationException

An error occurred while setting the property value. For example, an index value specified for an indexed property is out of range. The InnerException property indicates the reason for the error.

If this PropertyInfo object is a value type and value is null, then the property will be set to the default value for that type.

To determine whether a property is indexed, use the GetIndexParameters method. If the resulting array has 0 (zero) elements, the property is not indexed.

Access restrictions are ignored for fully trusted code. That is, private constructors, methods, fields, and properties can be accessed and invoked via Reflection whenever the code is fully trusted.

To use the SetValue method, first get the class Type. From the Type, get the PropertyInfo. From the PropertyInfo, use the SetValue method.

System_CAPS_noteNote

Starting with the .NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller’s grant set, or a subset thereof. (See Security Considerations for Reflection.)

To use this functionality, your application should target the .NET Framework 3.5 or later.

ReflectionPermission

for accessing non-public members when the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. Associated enumeration: ReflectionPermissionFlag.RestrictedMemberAccess

ReflectionPermission

for accessing non-public members regardless of their grant set. Associated enumeration: ReflectionPermissionFlag.MemberAccess

ReflectionPermission

when invoked late-bound through mechanisms such as Type.InvokeMember. Associated enumeration: ReflectionPermissionFlag.MemberAccess.

.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show:
© 2016 Microsoft