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
nodeYamlMappingNode
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
keyobject
Returns
GetOverride(string)
Gets the override for the specified member.
public OverrideType GetOverride(string key)
Parameters
keystringThe 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
keyobject
Returns
MoveChild(object, int)
public void MoveChild(object key, int movePosition)
Parameters
RemoveChild(object)
public void RemoveChild(object key)
Parameters
keyobject
RemoveOverride(string)
Removes an override information from the specified member.
public void RemoveOverride(string key)
Parameters
keystringThe 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
keystringThe member name to setup an override
typeOverrideTypeType 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
oldKeyobjectOld property name
newParentobjectNew owner for the property
newKeyobjectNew 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
binderConvertBinderProvides information about the conversion operation. The
binder.Typeproperty provides the type to which the object must be converted. For example, for the statement(String)sampleObjectin C# (CType(sampleObject, Type)in Visual Basic), wheresampleObjectis an instance of the class derived from the DynamicObject class,binder.Typereturns the string type. Thebinder.Explicitproperty provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion.resultobjectThe 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
binderGetIndexBinderProvides information about the operation.
indexesobject[]The indexes that are used in the operation. For example, for the
sampleObject[3]operation in C# (sampleObject(3)in Visual Basic), wheresampleObjectis derived from theDynamicObjectclass,indexes[0]is equal to 3.resultobjectThe 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
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.)
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
binderSetIndexBinderProvides information about the operation.
indexesobject[]The indexes that are used in the operation. For example, for the
sampleObject[3] = 10operation in C# (sampleObject(3) = 10in Visual Basic), wheresampleObjectis derived from the DynamicObject class,indexes[0]is equal to 3.valueobjectThe value to set to the object that has the specified index. For example, for the
sampleObject[3] = 10operation in C# (sampleObject(3) = 10in Visual Basic), wheresampleObjectis derived from the DynamicObject class,valueis 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
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".