Skip to content

Commit 6e3b58a

Browse files
authored
Merge pull request #8 from XerProjects/nullmessagehandlerresolver
Introduced NullMessageHandlerResolver
2 parents fe73743 + c567d07 commit 6e3b58a

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using System;
2+
3+
namespace Xer.Delegator.Resolvers
4+
{
5+
/// <summary>
6+
/// Represents an object that always returns a message handler delegate instance from
7+
/// <see cref="Xer.Delegator.NullMessageHandlerDelegate.Instance"/>.
8+
/// </summary>
9+
public class NullMessageHandlerResolver : IMessageHandlerResolver
10+
{
11+
#region Declarations
12+
13+
private static readonly Lazy<NullMessageHandlerResolver> _instance = new Lazy<NullMessageHandlerResolver>(() => new NullMessageHandlerResolver());
14+
15+
/// <summary>
16+
/// Singleton instance.
17+
/// </summary>
18+
public static readonly NullMessageHandlerResolver Instance = _instance.Value;
19+
20+
#endregion Declarations
21+
22+
#region Constructor
23+
24+
/// <summary>
25+
/// Private constructor.
26+
/// </summary>
27+
private NullMessageHandlerResolver() { }
28+
29+
#endregion Constructor
30+
31+
#region IMessageHandlerResolver Implementation
32+
33+
/// <summary>
34+
/// Resolve message handler delegate instance from <see cref="Xer.Delegator.NullMessageHandlerDelegate.Instance"/>.
35+
/// </summary>
36+
/// <param name="messageType">Type of message.</param>
37+
/// <returns>Message handler delegate instance from <see cref="Xer.Delegator.NullMessageHandlerDelegate.Instance"/>.</returns>
38+
public MessageHandlerDelegate ResolveMessageHandler(Type messageType)
39+
{
40+
return NullMessageHandlerDelegate.Instance;
41+
}
42+
43+
#endregion IMessageHandlerResolver Implementation
44+
}
45+
}

0 commit comments

Comments
 (0)