Namespace Cratis.Types

Classes

AssemblyHelpers

Represents helpers for working with assemblies.

CompositeAssemblyProvider

Represents an implementation of ICanProvideAssembliesForDiscovery that provides a composite of multiple ICanProvideAssembliesForDiscovery.

ContractToImplementorsMap

Represents an implementation of IContractToImplementorsMap.

GeneratedTypeDiscoveryRegistry

Holds compile-time generated type discovery providers registered by consuming assemblies.

ImplementationsOf<T>

Represents an implementation of IImplementationsOf<T>.

InstancesOf<T>

Represents an implementation of IInstancesOf<T>.

KnownInstancesOf<T>

Represents an implementation of IInstancesOf<T> for providing exact instances.

MultipleTypesFound

Exception that gets thrown when multiple types are found and not allowed.

PackageReferencedAssemblies

Represents an implementation of ICanProvideAssembliesForDiscovery that provides package referenced assemblies.

ProjectReferencedAssemblies

Represents an implementation of ICanProvideAssembliesForDiscovery that provides project referenced assemblies.

TypeConversion

Helper methods for type conversion.

TypeDiscoveryDiagnostics

Answers questions about what type discovery did and did not reach.

Types

Represents an implementation of ITypes.

UnableToResolveTypeByName

Exception that gets thrown when a type is not possible to be resolved by its name.

Interfaces

ICanProvideAssembliesForDiscovery

Defines a system that can provide assemblies that can be used for type discovery.

ICanProvideContractToImplementorsForDiscovery

Defines a system that can provide precomputed contract to implementor mappings for type discovery.

IContractToImplementorsMap

Defines a system that handles the relationship between contracts and their implementors.

IImplementationsOf<T>

Defines something that can discover implementations of types enable enumeration of these.

IInstancesOf<T>

Defines something that can discover implementations of types and give instance of these types when enumerated over.

ITypes

Defines a system for working with types.

Enums

TypeDiscoveryMode

Represents how the assemblies behind a ITypes were arrived at.