Show / Hide Table of Contents

Interface IPortableIoC

Lightweight, portable Inversion of Control container that will work on .NET Framework 4.x, Silverlight 4.0 and 5.0, WPF, Windows Phone 7.x and later, and Windows Store (Windows 8) applications

Namespace: DelsysAPI.Utils
Assembly: DelsysAPI.dll
Syntax
public interface IPortableIoC

Methods

CanResolve<T>(String)

Test to see whether it is possible to resolve a type

Declaration
bool CanResolve<T>(string label = "")
Parameters
Type Name Description
System.String label

A unique label that allows for multiple implementations of the same type

Returns
Type Description
System.Boolean

True if an implementation exists for the type

Type Parameters
Name Description
T

The type to test for

Destroy<T>(String)

Destroy the shared instance of a type

Declaration
bool Destroy<T>(string label = "")
Parameters
Type Name Description
System.String label

An optional label to allow multiple implementations of the same type

Returns
Type Description
System.Boolean

True if a shared instance existed

Type Parameters
Name Description
T

The type to destroy

Remarks

This will allow for a new instance to become shared if the resolve call is made later

Register<T>(Func<IPortableIoC, T>, String)

Register a type to be created with an alias to create that includes an instance of the IoC container

Declaration
void Register<T>(Func<IPortableIoC, T> creation, string label = "")
Parameters
Type Name Description
System.Func<IPortableIoC, T> creation

An expression to create a new instance of the type

System.String label

A unique label that allows multiple implementations of the same type

Type Parameters
Name Description
T

The type that is going to be implemented

Resolve<T>(Boolean, String)

Overload to resolve the implementation of a type with the option to create a non-shared instance

Declaration
T Resolve<T>(bool createNew, string label = "")
Parameters
Type Name Description
System.Boolean createNew

True for a non-shared instance

System.String label

A unique label that allows multiple implementations of the same type

Returns
Type Description
T

The implementation of the type

Type Parameters
Name Description
T

The type to resolve

Resolve<T>(String)

Resolve the implementation of a type (interface, abstract class, etc.)

Declaration
T Resolve<T>(string label = "")
Parameters
Type Name Description
System.String label

A unique label that allows multiple implementations of the same type

Returns
Type Description
T

The implementation (defaults to a shared implementation)

Type Parameters
Name Description
T

The type to resolve the implementation for

TryResolve<T>(out T, Boolean, String)

Attempt to resolve an instance

Declaration
bool TryResolve<T>(out T instance, bool createNew, string label = "")
Parameters
Type Name Description
T instance

The instance, if it is possible to create one

System.Boolean createNew

Set to true to create a non-shared instance

System.String label

A unique label that allows for multiple implementations of the same type

Returns
Type Description
System.Boolean

True if the resolution succeeded

Type Parameters
Name Description
T

The type to resolve

TryResolve<T>(out T, String)

Attempt to resolve an instance

Declaration
bool TryResolve<T>(out T instance, string label = "")
Parameters
Type Name Description
T instance

The instance, if it is possible to create one

System.String label

A unique label that allows for multiple implementations of the same type

Returns
Type Description
System.Boolean

True if the resolution succeeded

Type Parameters
Name Description
T

The type to resolve

Unregister<T>(String)

Unregister a definition.

Declaration
bool Unregister<T>(string label = "")
Parameters
Type Name Description
System.String label

An optional label to allow multiple implementations of the same type

Returns
Type Description
System.Boolean

True if the definition existed

Type Parameters
Name Description
T

The type to destroy

Remarks

This will destroy references to any shared instances for the type

Back to top Generated by DocFX