Table of Contents

Struct SqlObjectBuilderReferenceCollection<T>

Namespace
LfrlAnvil.Sql.Objects.Builders
Assembly
LfrlAnvil.Sql.Core.dll

Represents a collection of SqlObjectBuilderReference<T> instances.

public readonly struct SqlObjectBuilderReferenceCollection<T> : IReadOnlyCollection<SqlObjectBuilderReference<T>>, IEnumerable<SqlObjectBuilderReference<T>>, IEnumerable where T : class, ISqlObjectBuilder

Type Parameters

T

SQL object builder type.

Implements
Inherited Members

Properties

Count

Gets the number of elements in the collection.

public int Count { get; }

Property Value

int

The number of elements in the collection.

Methods

Contains(SqlObjectBuilderReferenceSource<T>)

Checks whether or not the provided source exists in this collection.

[Pure]
public bool Contains(SqlObjectBuilderReferenceSource<T> source)

Parameters

source SqlObjectBuilderReferenceSource<T>

Source to check.

Returns

bool

true when source exists, otherwise false.

GetEnumerator()

Creates a new SqlObjectBuilderReferenceCollection<T>.Enumerator instance for this collection.

[Pure]
public SqlObjectBuilderReferenceCollection<T>.Enumerator GetEnumerator()

Returns

SqlObjectBuilderReferenceCollection<T>.Enumerator

New SqlObjectBuilderReferenceCollection<T>.Enumerator instance.

GetReference(SqlObjectBuilderReferenceSource<T>)

Returns an SqlObjectBuilderReference<T> instance associated with the provided source.

[Pure]
public SqlObjectBuilderReference<T> GetReference(SqlObjectBuilderReferenceSource<T> source)

Parameters

source SqlObjectBuilderReferenceSource<T>

Source to return an SqlObjectBuilderReference<T> instance for.

Returns

SqlObjectBuilderReference<T>

SqlObjectBuilderReference<T> instance associated with the provided source.

Exceptions

SqlObjectBuilderException

When source does not exist.

TryGetReference(SqlObjectBuilderReferenceSource<T>)

Attempts to return an SqlObjectBuilderReference<T> instance associated with the provided source.

[Pure]
public SqlObjectBuilderReference<T>? TryGetReference(SqlObjectBuilderReferenceSource<T> source)

Parameters

source SqlObjectBuilderReferenceSource<T>

Source to return an SqlObjectBuilderReference<T> instance for.

Returns

SqlObjectBuilderReference<T>?

SqlObjectBuilderReference<T> instance associated with the provided source or null when it does not exist.

UnsafeReinterpretAs<TDestination>()

Converts this instance to another type that implements the ISqlObjectBuilder interface.

[Pure]
public SqlObjectBuilderReferenceCollection<TDestination> UnsafeReinterpretAs<TDestination>() where TDestination : class, ISqlObjectBuilder

Returns

SqlObjectBuilderReferenceCollection<TDestination>

New SqlObjectBuilderReferenceCollection<T> instance.

Type Parameters

TDestination

SQL object builder type to convert to.

Remarks

Be careful while using this method, because it does not actually validate the type's correctness.

Operators

implicit operator SqlObjectBuilderReferenceCollection<ISqlObjectBuilder>(SqlObjectBuilderReferenceCollection<T>)

Converts source to the base ISqlObjectBuilder type.

[Pure]
public static implicit operator SqlObjectBuilderReferenceCollection<ISqlObjectBuilder>(SqlObjectBuilderReferenceCollection<T> source)

Parameters

source SqlObjectBuilderReferenceCollection<T>

Source to convert.

Returns

SqlObjectBuilderReferenceCollection<ISqlObjectBuilder>

New SqlObjectBuilderReferenceCollection<T> instance.