Table of Contents

Class DynamicYamlMapping

Namespace
Stride.Core.Yaml
Assembly
Stride.Core.Assets.dll

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

key object
value object

ContainsChild(object)

public bool ContainsChild(object key)

Parameters

key object

Returns

bool

GetOverride(string)

Gets the override for the specified member.

public OverrideType GetOverride(string key)

Parameters

key string

The 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

int

MoveChild(object, int)

public void MoveChild(object key, int movePosition)

Parameters

key object
movePosition int

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 string

The 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

oldKey object

Old property name

newKey object

New property name

SetOverride(string, OverrideType)

Sets the override type for the specified member.

public void SetOverride(string key, OverrideType type)

Parameters

key string

The member name to setup an override

type OverrideType

Type 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 object

Old property name

newParent object

New owner for the property

newKey object

New 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 ConvertBinder

Provides 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), where sampleObject is an instance of the class derived from the DynamicObject class, binder.Type returns the string type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion.

result object

The 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 GetIndexBinder

Provides 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), where sampleObject is derived from the DynamicObject class, indexes[0] is equal to 3.

result object

The 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 GetMemberBinder

Provides 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 the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the DynamicObject class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.

result object

The 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 SetIndexBinder

Provides 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), where sampleObject is derived from the DynamicObject class, indexes[0] is equal to 3.

value object

The 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), where sampleObject 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 SetMemberBinder

Provides 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 statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the DynamicObject class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.

value object

The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the DynamicObject class, the value is "Test".

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.)