C# Class System.Dynamic.ExpandoClass

Represents a dynamically assigned class. Expando objects which share the same members will share the same class. Classes are dynamically assigned as the expando object gains members.
Show file Open project: dotnet/corefx Class Usage Examples

Private Properties

Property Type Description
ExpandoClass System.Collections.Generic
ExpandoClass System.Collections.Generic
FindNewClass ExpandoClass
GetTransitionList List
GetValueIndex int
GetValueIndexCaseInsensitive int
GetValueIndexCaseSensitive int

Private Methods

Method Description
ExpandoClass ( ) : System.Collections.Generic

Constructs the empty ExpandoClass. This is the class used when an empty Expando object is initially constructed.

ExpandoClass ( string keys, int hashCode ) : System.Collections.Generic

Constructs a new ExpandoClass that can hold onto the specified keys. The keys must be sorted ordinally. The hash code must be precalculated for the keys.

FindNewClass ( string newKey ) : ExpandoClass

Finds or creates a new ExpandoClass given the existing set of keys in this ExpandoClass plus the new key to be added. Members in an ExpandoClass are always stored case sensitively.

GetTransitionList ( int hashCode ) : List

Gets the lists of transitions that are valid from this ExpandoClass to an ExpandoClass whose keys hash to the appropriate hash code.

GetValueIndex ( string name, bool caseInsensitive, System.Dynamic.ExpandoObject obj ) : int

Gets the index at which the value should be stored for the specified name.

GetValueIndexCaseInsensitive ( string name, System.Dynamic.ExpandoObject obj ) : int

Gets the index at which the value should be stored for the specified name, the method is only used in the case-insensitive case.

GetValueIndexCaseSensitive ( string name ) : int

Gets the index at which the value should be stored for the specified name case sensitively. Returns the index even if the member is marked as deleted.