Class DynamicYamlMapping
Dynamic version of Stride.Core.Yaml.Serialization.YamlMappingNode.
public class DynamicYamlMapping : DynamicYamlObject, IDynamicMetaObjectProvider, IDynamicYamlNode, IEnumerable
- Inheritance
-
DynamicYamlMapping
- Implements
- Inherited Members
- Extension Methods
Constructors
DynamicYamlMapping(YamlMappingNode)
public DynamicYamlMapping(YamlMappingNode node)
Parameters
node
YamlMappingNode
Properties
Node
public YamlMappingNode Node { get; }
Property Value
- YamlMappingNode
Methods
AddChild(object, object)
public void AddChild(object key, object value)
Parameters
ContainsChild(object)
public bool ContainsChild(object key)
Parameters
key
object
Returns
GetOverride(string)
Gets the override for the specified member.
public OverrideType GetOverride(string key)
Parameters
key
stringThe member name to get the override
Returns
- OverrideType
The type of override (if no override, return Base
IndexOf(object)
public int IndexOf(object key)
Parameters
key
object
Returns
MoveChild(object, int)
public void MoveChild(object key, int movePosition)
Parameters
RemoveChild(object)
public void RemoveChild(object key)
Parameters
key
object
RemoveOverride(string)
Removes an override information from the specified member.
public void RemoveOverride(string key)
Parameters
key
stringThe member name
RenameChild(object, object)
Renames a property to a new name while keeping all overrides and key mappings
public void RenameChild(object oldKey, object newKey)
Parameters
SetOverride(string, OverrideType)
Sets the override type for the specified member.
public void SetOverride(string key, OverrideType type)
Parameters
key
stringThe member name to setup an override
type
OverrideTypeType of the override
TransferChild(object, object, object)
Transfers ownership of a property to another parent object and removes it from the current one
public void TransferChild(object oldKey, object newParent, object newKey)
Parameters
oldKey
objectOld property name
newParent
objectNew owner for the property
newKey
objectNew property name
TryConvert(ConvertBinder, out object)
Provides implementation for type conversion operations. Classes derived from the DynamicObject class can override this method to specify dynamic behavior for operations that convert an object from one type to another.
public override bool TryConvert(ConvertBinder binder, out object result)
Parameters
binder
ConvertBinderProvides information about the conversion operation. The
binder.Type
property provides the type to which the object must be converted. For example, for the statement(String)sampleObject
in C# (CType(sampleObject, Type)
in Visual Basic), wheresampleObject
is an instance of the class derived from the DynamicObject class,binder.Type
returns the string type. Thebinder.Explicit
property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion.result
objectThe result of the type conversion operation.
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 language-specific run-time exception is thrown.)
TryGetIndex(GetIndexBinder, object[], out object)
Provides the implementation for operations that get a value by index. Classes derived from the DynamicObject class can override this method to specify dynamic behavior for indexing operations.
public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
Parameters
binder
GetIndexBinderProvides information about the operation.
indexes
object[]The indexes that are used in the operation. For example, for the
sampleObject[3]
operation in C# (sampleObject(3)
in Visual Basic), wheresampleObject
is derived from theDynamicObject
class,indexes[0]
is equal to 3.result
objectThe result of the index operation.
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.)
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.)
TrySetIndex(SetIndexBinder, object[], object)
Provides the implementation for operations that set a value by index. Classes derived from the DynamicObject class can override this method to specify dynamic behavior for operations that access objects by a specified index.
public override bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value)
Parameters
binder
SetIndexBinderProvides information about the operation.
indexes
object[]The indexes that are used in the operation. For example, for the
sampleObject[3] = 10
operation in C# (sampleObject(3) = 10
in Visual Basic), wheresampleObject
is derived from the DynamicObject class,indexes[0]
is equal to 3.value
objectThe value to set to the object that has the specified index. For example, for the
sampleObject[3] = 10
operation in C# (sampleObject(3) = 10
in Visual Basic), wheresampleObject
is derived from the DynamicObject class,value
is equal to 10.
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 language-specific 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".