Table of Contents

Class DispatchingUserDataDescriptor

Namespace
MoonSharp.Interpreter.Interop.BasicDescriptors
Assembly
Assembly-CSharp.dll
public abstract class DispatchingUserDataDescriptor : IUserDataDescriptor, IOptimizableDescriptor
Inheritance
DispatchingUserDataDescriptor
Implements
Derived
Inherited Members
Extension Methods

Constructors

DispatchingUserDataDescriptor(Type, string)

protected DispatchingUserDataDescriptor(Type type, string friendlyName = null)

Parameters

type Type
friendlyName string

Fields

SPECIALNAME_CAST_EXPLICIT

protected const string SPECIALNAME_CAST_EXPLICIT = "op_Explicit"

Field Value

string

SPECIALNAME_CAST_IMPLICIT

protected const string SPECIALNAME_CAST_IMPLICIT = "op_Implicit"

Field Value

string

SPECIALNAME_INDEXER_GET

protected const string SPECIALNAME_INDEXER_GET = "get_Item"

Field Value

string

SPECIALNAME_INDEXER_SET

protected const string SPECIALNAME_INDEXER_SET = "set_Item"

Field Value

string

Properties

FriendlyName

public string FriendlyName { get; }

Property Value

string

MemberNames

public IEnumerable<string> MemberNames { get; }

Property Value

IEnumerable<string>

Members

public IEnumerable<KeyValuePair<string, IMemberDescriptor>> Members { get; }

Property Value

IEnumerable<KeyValuePair<string, IMemberDescriptor>>

MetaMemberNames

public IEnumerable<string> MetaMemberNames { get; }

Property Value

IEnumerable<string>

MetaMembers

public IEnumerable<KeyValuePair<string, IMemberDescriptor>> MetaMembers { get; }

Property Value

IEnumerable<KeyValuePair<string, IMemberDescriptor>>

Name

public string Name { get; }

Property Value

string

Type

public Type Type { get; }

Property Value

Type

Methods

AddDynValue(string, DynValue)

public void AddDynValue(string name, DynValue value)

Parameters

name string
value DynValue

AddMember(string, IMemberDescriptor)

public void AddMember(string name, IMemberDescriptor desc)

Parameters

name string
desc IMemberDescriptor

AddMetaMember(string, IMemberDescriptor)

public void AddMetaMember(string name, IMemberDescriptor desc)

Parameters

name string
desc IMemberDescriptor

AsString(object)

public virtual string AsString(object obj)

Parameters

obj object

Returns

string

Camelify(string)

protected static string Camelify(string name)

Parameters

name string

Returns

string

ExecuteIndexer(IMemberDescriptor, Script, object, DynValue, DynValue)

protected virtual DynValue ExecuteIndexer(IMemberDescriptor mdesc, Script script, object obj, DynValue index, DynValue value)

Parameters

mdesc IMemberDescriptor
script Script
obj object
index DynValue
value DynValue

Returns

DynValue

FindMember(string)

public IMemberDescriptor FindMember(string memberName)

Parameters

memberName string

Returns

IMemberDescriptor

FindMetaMember(string)

public IMemberDescriptor FindMetaMember(string memberName)

Parameters

memberName string

Returns

IMemberDescriptor

HasMember(string)

public bool HasMember(string exactName)

Parameters

exactName string

Returns

bool

HasMetaMember(string)

public bool HasMetaMember(string exactName)

Parameters

exactName string

Returns

bool

Index(Script, object, DynValue, bool)

public virtual DynValue Index(Script script, object obj, DynValue index, bool isDirectIndexing)

Parameters

script Script
obj object
index DynValue
isDirectIndexing bool

Returns

DynValue

IsTypeCompatible(Type, object)

public virtual bool IsTypeCompatible(Type type, object obj)

Parameters

type Type
obj object

Returns

bool

MetaIndex(Script, object, string)

public virtual DynValue MetaIndex(Script script, object obj, string metaname)

Parameters

script Script
obj object
metaname string

Returns

DynValue

RemoveMember(string)

public void RemoveMember(string memberName)

Parameters

memberName string

RemoveMetaMember(string)

public void RemoveMetaMember(string memberName)

Parameters

memberName string

SetIndex(Script, object, DynValue, DynValue, bool)

public virtual bool SetIndex(Script script, object obj, DynValue index, DynValue value, bool isDirectIndexing)

Parameters

script Script
obj object
index DynValue
value DynValue
isDirectIndexing bool

Returns

bool

TryIndex(Script, object, string)

protected virtual DynValue TryIndex(Script script, object obj, string indexName)

Parameters

script Script
obj object
indexName string

Returns

DynValue

TrySetIndex(Script, object, string, DynValue)

protected virtual bool TrySetIndex(Script script, object obj, string indexName, DynValue value)

Parameters

script Script
obj object
indexName string
value DynValue

Returns

bool

UpperFirstLetter(string)

protected static string UpperFirstLetter(string name)

Parameters

name string

Returns

string