Show / Hide Table of Contents

Namespace Itinero.Profiles.Lua.Interop

Classes

AnonWrapper

Internal type used by AnonWrapper<T> for registration

AnonWrapper<T>

Wrapper which allows for easier management of userdata without registering a new userdata type - useful if a type which is not exposed to scripts but can be managed as a "black box" by scripts is desired.

ArrayMemberDescriptor

Member descriptor for indexer of array types

CompositeUserDataDescriptor

A user data descriptor which aggregates multiple descriptors and tries dispatching members on them, in order.

Used, for example, for objects implementing multiple interfaces but for which no descriptor is specifically registered.

CustomConvertersCollection

A collection of custom converters between MoonSharp types and CLR types. If a converter function is not specified or returns null, the standard conversion path applies.

DelegateProxyFactory<TProxy, TTarget>

Implementation of IProxyFactory taking two delegates for simple instancing of proxies.

DescriptorHelpers

Helper extension methods used to simplify some parts of userdata descriptor implementations

DynValueMemberDescriptor

Class providing a simple descriptor for constant DynValues in userdata

EventMemberDescriptor

Class providing easier marshalling of CLR events. Handling is limited to a narrow range of handler signatures, which, however, covers in practice most of all available events.

FieldMemberDescriptor

Class providing easier marshalling of CLR fields

FunctionMemberDescriptorBase

Class providing easier marshalling of CLR functions

InteropRegistrationPolicy

Collection of the standard policies to handle UserData type registrations. Provided mostly for compile-time backward compatibility with old code. See also : .

MethodMemberDescriptor

Class providing easier marshalling of CLR functions

MoonSharpVisibleAttribute

Forces a class member visibility to scripts. Can be used to hide public members or to expose non-public ones.

ObjectCallbackMemberDescriptor

Member descriptor which allows to define new members which behave similarly to class instance members

OverloadedMethodMemberDescriptor

Class providing easier marshalling of overloaded CLR functions

PropertyMemberDescriptor

Class providing easier marshalling of CLR properties

PropertyTableAssigner

Utility class which may be used to set properties on an object from values contained in a Lua table. Properties must be decorated with the MoonSharpPropertyAttribute. See PropertyTableAssigner<T> for a generic compile time type-safe version.

PropertyTableAssigner<T>

Utility class which may be used to set properties on an object of type T, from values contained in a Lua table. Properties must be decorated with the MoonSharpPropertyAttribute. This is a generic version of PropertyTableAssigner.

ProxyUserDataDescriptor

Data descriptor used for proxy objects

StandardEnumUserDataDescriptor

Standard descriptor for Enum values

StandardGenericsUserDataDescriptor

Standard user data descriptor used to instantiate generics.

StandardUserDataDescriptor

Standard descriptor for userdata types.

ValueTypeDefaultCtorMemberDescriptor

Member descriptor for the default constructor of value types.

Structs

ReflectionSpecialName

Class helping identifying special names found with reflection

Interfaces

IGeneratorUserDataDescriptor

An interface for type descriptors having the ability to generate other descriptors on the fly.

IPropertyTableAssigner

Common interface for property assigners - basically used for sub-assigners

IProxyFactory

Interface for proxy objects (type unsafe version)

IProxyFactory<TProxy, TTarget>

Interface for proxy objects (type safe version)

IUserDataDescriptor

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

IUserDataMemberDescriptor

Interface used by standard descriptors to access members of a given type from scripts.

IUserDataType

As a convenience, every type deriving from IUserDataType is "self-described". That is, no descriptor is needed/generated and the object itself is used to describe the type for interop. See also UserData, IUserDataDescriptor and StandardUserDataDescriptor .

Enums

ReflectionSpecialNameType

Helps identifying a reflection special name

UserDataMemberType

Back to top Built by Itinero, MIT licensed.