Class ProxyUserDataDescriptor
Data descriptor used for proxy objects
Inheritance
Inherited Members
Namespace: System.Dynamic.ExpandoObject
Assembly: cs.temp.dll.dll
Syntax
public sealed class ProxyUserDataDescriptor : IUserDataDescriptor
Properties
InnerDescriptor
Gets the descriptor which describes the proxy object
Declaration
public IUserDataDescriptor InnerDescriptor { get; }
Property Value
|
IUserDataDescriptor
|
Name
Gets the name of the descriptor (usually, the name of the type described).
Declaration
public string Name { get; }
Property Value
|
System.String
|
Implements
Type
Gets the type this descriptor refers to
Declaration
public Type Type { get; }
Property Value
|
Type
|
Implements
Methods
AsString(Object)
Converts this userdata to string
Declaration
public string AsString(object obj)
Parameters
|
System.Object
obj
The object. |
Returns
|
System.String
|
Implements
Index(Script, Object, DynValue, Boolean)
Performs an "index" "get" operation.
Declaration
public 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
|
Implements
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
public bool IsTypeCompatible(Type type, object obj)
Parameters
|
Type
type
The type. |
|
System.Object
obj
The object. |
Returns
|
System.Boolean
|
Implements
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
public 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
|
Implements
SetIndex(Script, Object, DynValue, DynValue, Boolean)
Performs an "index" "set" operation.
Declaration
public 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
|