Table of Contents

Class IdentifiableExtensions

Namespace
MonkeyLoader
Assembly
MonkeyLoader.dll

Contains extension methods dealing with IIdentifiables.

public static class IdentifiableExtensions
Inheritance
IdentifiableExtensions
Inherited Members

Methods

FindNearestParent<TParentIdentifiable>(IIdentifiable)

Finds the nearest TParentIdentifiable parent of this identifiable.

public static TParentIdentifiable FindNearestParent<TParentIdentifiable>(this IIdentifiable identifiable) where TParentIdentifiable : IIdentifiable

Parameters

identifiable IIdentifiable

The IIdentifiable to start looking from.

Returns

TParentIdentifiable

The found parent.

Type Parameters

TParentIdentifiable

The type of the parent IIdentifiable to look for.

Exceptions

InvalidOperationException

When no suitable parent was found.

FindNearestParent<TParentIdentifiable>(IIdentifiable, Predicate<TParentIdentifiable>)

Finds the nearest TParentIdentifiable parent of this identifiable that satisfies the given predicate.

public static TParentIdentifiable FindNearestParent<TParentIdentifiable>(this IIdentifiable identifiable, Predicate<TParentIdentifiable> predicate) where TParentIdentifiable : IIdentifiable

Parameters

identifiable IIdentifiable

The IIdentifiable to start looking from.

predicate Predicate<TParentIdentifiable>

The predicate that a potential parent must satisfy.

Returns

TParentIdentifiable

The parent satisfying the predicate.

Type Parameters

TParentIdentifiable

The type of the parent IIdentifiable to look for.

Exceptions

InvalidOperationException

When no suitable parent was found.

GetAll<TIdentifiable>(IIdentifiableCollection<TIdentifiable>)

Gets an enumerable of all child TIdentifiable from this object.

public static IEnumerable<TIdentifiable> GetAll<TIdentifiable>(this IIdentifiableCollection<TIdentifiable> identifiableCollection) where TIdentifiable : IIdentifiable

Parameters

identifiableCollection IIdentifiableCollection<TIdentifiable>

The identifiable collection to start from.

Returns

IEnumerable<TIdentifiable>

An enumerable of all child TIdentifiable.

Type Parameters

TIdentifiable

The type of the nested IIdentifiables to enumerate.

GetAll<TIdentifiable>(INestedIdentifiableCollection<TIdentifiable>)

Gets an enumerable of all child TIdentifiable from this object.

public static IEnumerable<TIdentifiable> GetAll<TIdentifiable>(this INestedIdentifiableCollection<TIdentifiable> nestedIdentifiableCollection) where TIdentifiable : INestedIdentifiable

Parameters

nestedIdentifiableCollection INestedIdentifiableCollection<TIdentifiable>

The nested identifiable collection to start from.

Returns

IEnumerable<TIdentifiable>

An enumerable of all child TIdentifiable.

Type Parameters

TIdentifiable

The type of the nested IIdentifiables to enumerate.

Get<TIdentifiable>(IIdentifiableCollection<TIdentifiable>)

Starts a search for a child TIdentifiable from this object.

public static IIdentifiableSearch<TIdentifiable> Get<TIdentifiable>(this IIdentifiableCollection<TIdentifiable> identifiableCollection) where TIdentifiable : IIdentifiable

Parameters

identifiableCollection IIdentifiableCollection<TIdentifiable>

The identifiable collection to start from.

Returns

IIdentifiableSearch<TIdentifiable>

The search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

Get<TIdentifiable>(IIdentifiableOwner<TIdentifiable>)

Starts a search for a child TIdentifiable from this object.

public static IIdentifiableOwnerSearch<TIdentifiable> Get<TIdentifiable>(this IIdentifiableOwner<TIdentifiable> identifiableOwner) where TIdentifiable : INestedIdentifiable

Parameters

identifiableOwner IIdentifiableOwner<TIdentifiable>

The identifiable owner to start from.

Returns

IIdentifiableOwnerSearch<TIdentifiable>

The search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

Get<TIdentifiable>(INestedIdentifiableCollection<TIdentifiable>)

Starts a search for a child TIdentifiable from this object.

public static INestedIdentifiableSearch<TIdentifiable> Get<TIdentifiable>(this INestedIdentifiableCollection<TIdentifiable> nestedIdentifiableCollection) where TIdentifiable : INestedIdentifiable

Parameters

nestedIdentifiableCollection INestedIdentifiableCollection<TIdentifiable>

The nested identifiable collection to start from.

Returns

INestedIdentifiableSearch<TIdentifiable>

The search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

Get<TIdentifiable>(INestedIdentifiableOwner<TIdentifiable>)

Starts a search for a child TIdentifiable from this object.

public static INestedIdentifiableOwnerSearch<TIdentifiable> Get<TIdentifiable>(this INestedIdentifiableOwner<TIdentifiable> nestedIdentifiableOwner) where TIdentifiable : INestedIdentifiable

Parameters

nestedIdentifiableOwner INestedIdentifiableOwner<TIdentifiable>

The nested identifiable owner to start from.

Returns

INestedIdentifiableOwnerSearch<TIdentifiable>

The search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

Get<TOwner, TIdentifiable>(IIdentifiableOwner<TOwner, TIdentifiable>)

Starts a search for a child TIdentifiable from this object.

public static IIdentifiableOwnerSearch<TIdentifiable> Get<TOwner, TIdentifiable>(this IIdentifiableOwner<TOwner, TIdentifiable> identifiableOwner) where TOwner : IIdentifiableOwner<TOwner, TIdentifiable> where TIdentifiable : INestedIdentifiable<TOwner>

Parameters

identifiableOwner IIdentifiableOwner<TOwner, TIdentifiable>

The identifiable owner to start from.

Returns

IIdentifiableOwnerSearch<TIdentifiable>

The search object for it.

Type Parameters

TOwner

The type of the identifiable owner to start from.

TIdentifiable

The type of the nested IIdentifiable to find.

TryFindNearestParent<TParentIdentifiable>(IIdentifiable, Predicate<TParentIdentifiable>, out TParentIdentifiable?)

Tries to find the nearest TParentIdentifiable parent of this identifiable that satisfies the given predicate.

public static bool TryFindNearestParent<TParentIdentifiable>(this IIdentifiable identifiable, Predicate<TParentIdentifiable> predicate, out TParentIdentifiable? parentIdentifiable) where TParentIdentifiable : IIdentifiable

Parameters

identifiable IIdentifiable

The IIdentifiable to start looking from.

predicate Predicate<TParentIdentifiable>

The predicate that a potential parent must satisfy.

parentIdentifiable TParentIdentifiable

The parent satisfying the predicate if found; otherwise, default.

Returns

bool

true if a parent satisfying the predicate was found; otherwise, false.

Type Parameters

TParentIdentifiable

The type of the parent IIdentifiable to look for.

TryFindNearestParent<TParentIdentifiable>(IIdentifiable, out TParentIdentifiable?)

Tries to find the nearest TParentIdentifiable parent of this identifiable.

public static bool TryFindNearestParent<TParentIdentifiable>(this IIdentifiable identifiable, out TParentIdentifiable? parentIdentifiable) where TParentIdentifiable : IIdentifiable

Parameters

identifiable IIdentifiable

The IIdentifiable to start looking from.

parentIdentifiable TParentIdentifiable

The parent if found; otherwise, default.

Returns

bool

true if a parent was found; otherwise, false.

Type Parameters

TParentIdentifiable

The type of the parent IIdentifiable to look for.

TryGet<TIdentifiable>(IIdentifiableCollection<TIdentifiable>)

Starts a try-search for a child TIdentifiable from this object.

public static IIdentifiableTrySearch<TIdentifiable> TryGet<TIdentifiable>(this IIdentifiableCollection<TIdentifiable> identifiableCollection) where TIdentifiable : IIdentifiable

Parameters

identifiableCollection IIdentifiableCollection<TIdentifiable>

The identifiable collection to start from.

Returns

IIdentifiableTrySearch<TIdentifiable>

The try-search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

TryGet<TIdentifiable>(IIdentifiableOwner<TIdentifiable>)

Starts a try-search for a child TIdentifiable from this object.

public static IIdentifiableOwnerTrySearch<TIdentifiable> TryGet<TIdentifiable>(this IIdentifiableOwner<TIdentifiable> identifiableOwner) where TIdentifiable : INestedIdentifiable

Parameters

identifiableOwner IIdentifiableOwner<TIdentifiable>

The identifiable owner to start from.

Returns

IIdentifiableOwnerTrySearch<TIdentifiable>

The try-search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

TryGet<TIdentifiable>(INestedIdentifiableCollection<TIdentifiable>)

Starts a try-search for a child TIdentifiable from this object.

public static INestedIdentifiableTrySearch<TIdentifiable> TryGet<TIdentifiable>(this INestedIdentifiableCollection<TIdentifiable> nestedIdentifiableCollection) where TIdentifiable : INestedIdentifiable

Parameters

nestedIdentifiableCollection INestedIdentifiableCollection<TIdentifiable>

The nested identifiable collection to start from.

Returns

INestedIdentifiableTrySearch<TIdentifiable>

The try-search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

TryGet<TIdentifiable>(INestedIdentifiableOwner<TIdentifiable>)

Starts a try-search for a child TIdentifiable from this object.

public static INestedIdentifiableOwnerTrySearch<TIdentifiable> TryGet<TIdentifiable>(this INestedIdentifiableOwner<TIdentifiable> nestedIdentifiableOwner) where TIdentifiable : INestedIdentifiable

Parameters

nestedIdentifiableOwner INestedIdentifiableOwner<TIdentifiable>

The nested identifiable owner to start from.

Returns

INestedIdentifiableOwnerTrySearch<TIdentifiable>

The try-search object for it.

Type Parameters

TIdentifiable

The type of the nested IIdentifiable to find.

TryGet<TOwner, TIdentifiable>(IIdentifiableOwner<TOwner, TIdentifiable>)

Starts a try-search for a child TIdentifiable from this object.

public static IIdentifiableOwnerTrySearch<TIdentifiable> TryGet<TOwner, TIdentifiable>(this IIdentifiableOwner<TOwner, TIdentifiable> identifiableOwner) where TOwner : IIdentifiableOwner<TOwner, TIdentifiable> where TIdentifiable : INestedIdentifiable<TOwner>

Parameters

identifiableOwner IIdentifiableOwner<TOwner, TIdentifiable>

The identifiable owner to start from.

Returns

IIdentifiableOwnerTrySearch<TIdentifiable>

The try-search object for it.

Type Parameters

TOwner

The type of the identifiable owner to start from.

TIdentifiable

The type of the nested IIdentifiable to find.