Show / Hide Table of Contents

Interface IUserDataDescriptor

Interface used by MoonSharp to access objects of a given type from scripts.

Namespace: System.Dynamic.ExpandoObject
Assembly: cs.temp.dll.dll
Syntax
public interface IUserDataDescriptor

Properties

Name

Gets the name of the descriptor (usually, the name of the type described).

Declaration
string Name { get; }
Property Value
System.String

Type

Gets the type this descriptor refers to

Declaration
Type Type { get; }
Property Value
Type

Methods

AsString(Object)

Converts this userdata to string

Declaration
string AsString(object obj)
Parameters
System.Object obj

The object.

Returns
System.String

Index(Script, Object, DynValue, Boolean)

Performs an "index" "get" operation.

Declaration
DynValue Index(Script script, object obj, DynValue index, bool isDirectIndexing)
Parameters
Script script

The script originating the request

System.Object obj

The object (null if a static request is done)

DynValue index

The index.

System.Boolean isDirectIndexing

If set to true, it's indexed with a name, if false it's indexed through brackets.

Returns
DynValue

IsTypeCompatible(Type, Object)

Determines whether the specified object is compatible with the specified type. Unless a very specific behaviour is needed, the correct implementation is a simple " return type.IsInstanceOfType(obj); "

Declaration
bool IsTypeCompatible(Type type, object obj)
Parameters
Type type

The type.

System.Object obj

The object.

Returns
System.Boolean

MetaIndex(Script, Object, String)

Gets a "meta" operation on this userdata. If a descriptor does not support this functionality, it should return "null" (not a nil).

These standard metamethods can be supported (the return value should be a function accepting the classic parameters of the corresponding metamethod): __add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat, __pairs, __ipairs, __iterator, __call

These standard metamethods are supported through other calls for efficiency: __index, __newindex, __tostring

Declaration
DynValue MetaIndex(Script script, object obj, string metaname)
Parameters
Script script

The script originating the request

System.Object obj

The object (null if a static request is done)

System.String metaname

The name of the metamember.

Returns
DynValue

SetIndex(Script, Object, DynValue, DynValue, Boolean)

Performs an "index" "set" operation.

Declaration
bool SetIndex(Script script, object obj, DynValue index, DynValue value, bool isDirectIndexing)
Parameters
Script script

The script originating the request

System.Object obj

The object (null if a static request is done)

DynValue index

The index.

DynValue value

The value to be set

System.Boolean isDirectIndexing

If set to true, it's indexed with a name, if false it's indexed through brackets.

Returns
System.Boolean

Back to top Built by Itinero, MIT licensed.