Class CaseInsensitiveExpandoObject
public class CaseInsensitiveExpandoObject : DynamicObject, IDynamicMetaObjectProvider
- Inheritance
-
CaseInsensitiveExpandoObject
- Implements
- Inherited Members
- Extension Methods
Constructors
CaseInsensitiveExpandoObject(IDictionary<string, object?>)
public CaseInsensitiveExpandoObject(IDictionary<string, object?> dictionary)
Parameters
dictionary
IDictionary<string, object>
Methods
GetDynamicMemberNames()
Returns the enumeration of all dynamic member names.
public override IEnumerable<string> GetDynamicMemberNames()
Returns
- IEnumerable<string>
A sequence that contains dynamic member names.
TryGetMember(GetMemberBinder, out object?)
Provides the implementation for operations that get member values. Classes derived from the DynamicObject class can override this method to specify dynamic behavior for operations such as getting a value for a property.
public override bool TryGetMember(GetMemberBinder binder, out object? result)
Parameters
binder
GetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Name
property provides the name of the member on which the dynamic operation is performed. For example, for theConsole.WriteLine(sampleObject.SampleProperty)
statement, wheresampleObject
is an instance of the class derived from the DynamicObject class,binder.Name
returns "SampleProperty". Thebinder.IgnoreCase
property specifies whether the member name is case-sensitive.result
objectThe result of the get operation. For example, if the method is called for a property, you can assign the property value to
result
.
Returns
- bool
true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)
TrySetMember(SetMemberBinder, object?)
Provides the implementation for operations that set member values. Classes derived from the DynamicObject class can override this method to specify dynamic behavior for operations such as setting a value for a property.
public override bool TrySetMember(SetMemberBinder binder, object? value)
Parameters
binder
SetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Name
property provides the name of the member to which the value is being assigned. For example, for the statementsampleObject.SampleProperty = "Test"
, wheresampleObject
is an instance of the class derived from the DynamicObject class,binder.Name
returns "SampleProperty". Thebinder.IgnoreCase
property specifies whether the member name is case-sensitive.value
objectThe value to set to the member. For example, for
sampleObject.SampleProperty = "Test"
, wheresampleObject
is an instance of the class derived from the DynamicObject class, thevalue
is "Test".