Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 :
11 : namespace Cqrs.Configuration
12 : {
13 : /// <summary>
14 : /// Provides an ability to resolve instances of objects.
15 : /// </summary>
16 : public abstract class DependencyResolver : IDependencyResolver
17 1 : {
18 : /// <summary>
19 : /// The current instance of the <see cref="IDependencyResolver"/>.
20 : /// </summary>
21 : public static IDependencyResolver Current { get; protected set; }
22 :
23 : #region Implementation of IDependencyResolver
24 :
25 : /// <summary>
26 : /// Resolves a single instance for the specified <typeparamref name="T"/>.
27 : /// Different implementations may return the first or last instance found or may return an exception.
28 : /// </summary>
29 : /// <typeparam name="T">The <see cref="Type"/> of object you want to resolve.</typeparam>
30 : /// <returns>An instance of type <typeparamref name="T"/>.</returns>
31 1 : public abstract T Resolve<T>();
32 :
33 : /// <summary>
34 : /// Resolves a single instance for the specified <paramref name="type"/>.
35 : /// Different implementations may return the first or last instance found or may return an exception.
36 : /// </summary>
37 : /// <param name="type">The <see cref="Type"/> of object you want to resolve.</param>
38 : /// <returns>An instance of type <paramref name="type"/>.</returns>
39 1 : public abstract object Resolve(Type type);
40 :
41 : #endregion
42 : }
43 : }
|