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
|