Skip to content

ServiceCatalogEntry

NexusLabs.Needlr

NexusLabs.Needlr.Catalog

ServiceCatalogEntry Class

Represents a service registration discovered at compile time.

public sealed record ServiceCatalogEntry : System.IEquatable<NexusLabs.Needlr.Catalog.ServiceCatalogEntry>

Inheritance System.Object 🡒 ServiceCatalogEntry

Implements System.IEquatable<ServiceCatalogEntry>

Constructors

ServiceCatalogEntry(string, string, string, ServiceCatalogLifetime, IReadOnlyList<string>, IReadOnlyList<ConstructorParameterEntry>, IReadOnlyList<string>, string) Constructor

Represents a service registration discovered at compile time.

public ServiceCatalogEntry(string TypeName, string ShortTypeName, string AssemblyName, NexusLabs.Needlr.Catalog.ServiceCatalogLifetime Lifetime, System.Collections.Generic.IReadOnlyList<string> Interfaces, System.Collections.Generic.IReadOnlyList<NexusLabs.Needlr.Catalog.ConstructorParameterEntry> ConstructorParameters, System.Collections.Generic.IReadOnlyList<string> ServiceKeys, string? SourceFilePath=null);

Parameters

TypeName System.String

The fully qualified name of the implementation type.

ShortTypeName System.String

The short name of the implementation type (without namespace).

AssemblyName System.String

The assembly name where this type is defined.

Lifetime ServiceCatalogLifetime

The service lifetime (Singleton, Scoped, Transient).

Interfaces System.Collections.Generic.IReadOnlyList<System.String>

The interfaces this type is registered as.

ConstructorParameters System.Collections.Generic.IReadOnlyList<ConstructorParameterEntry>

Constructor parameter type names.

ServiceKeys System.Collections.Generic.IReadOnlyList<System.String>

Service keys if registered as keyed service.

SourceFilePath System.String

Source file path where the type is defined, if available.

Properties

ServiceCatalogEntry.AssemblyName Property

The assembly name where this type is defined.

public string AssemblyName { get; init; }

Property Value

System.String

ServiceCatalogEntry.ConstructorParameters Property

Constructor parameter type names.

public System.Collections.Generic.IReadOnlyList<NexusLabs.Needlr.Catalog.ConstructorParameterEntry> ConstructorParameters { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<ConstructorParameterEntry>

ServiceCatalogEntry.Interfaces Property

The interfaces this type is registered as.

public System.Collections.Generic.IReadOnlyList<string> Interfaces { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.String>

ServiceCatalogEntry.Lifetime Property

The service lifetime (Singleton, Scoped, Transient).

public NexusLabs.Needlr.Catalog.ServiceCatalogLifetime Lifetime { get; init; }

Property Value

ServiceCatalogLifetime

ServiceCatalogEntry.ServiceKeys Property

Service keys if registered as keyed service.

public System.Collections.Generic.IReadOnlyList<string> ServiceKeys { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.String>

ServiceCatalogEntry.ShortTypeName Property

The short name of the implementation type (without namespace).

public string ShortTypeName { get; init; }

Property Value

System.String

ServiceCatalogEntry.SourceFilePath Property

Source file path where the type is defined, if available.

public string? SourceFilePath { get; init; }

Property Value

System.String

ServiceCatalogEntry.TypeName Property

The fully qualified name of the implementation type.

public string TypeName { get; init; }

Property Value

System.String