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
dictionaryIDictionary<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
binderGetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Nameproperty provides the name of the member on which the dynamic operation is performed. For example, for theConsole.WriteLine(sampleObject.SampleProperty)statement, wheresampleObjectis an instance of the class derived from the DynamicObject class,binder.Namereturns "SampleProperty". Thebinder.IgnoreCaseproperty specifies whether the member name is case-sensitive.resultobjectThe 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
binderSetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Nameproperty provides the name of the member to which the value is being assigned. For example, for the statementsampleObject.SampleProperty = "Test", wheresampleObjectis an instance of the class derived from the DynamicObject class,binder.Namereturns "SampleProperty". Thebinder.IgnoreCaseproperty specifies whether the member name is case-sensitive.valueobjectThe value to set to the member. For example, for
sampleObject.SampleProperty = "Test", wheresampleObjectis an instance of the class derived from the DynamicObject class, thevalueis "Test".