]> wagnertech.de Git - mDoc.git/blob - csharp/mutil/MessageTool.cs
Bugfix 126
[mDoc.git] / csharp / mutil / MessageTool.cs
1 using System;
2
3 namespace mutil {
4
5 public interface MessageToolImpl{
6     void send(string message);
7 }
8 public class MessageTool : MessageToolImpl {
9     // strategy pattern
10     //private messageToolImpl MessageToolImpl = null;
11     public MessageToolImpl MessageToolImpl {private get; set;}
12
13     public void send(string message) {
14         if (MessageToolImpl == null) throw new System.Exception("set MessageToolImpl before sending a message.");
15         MessageToolImpl.send(message);
16     }
17     // singleton
18     static private MessageTool theInstance = null;
19
20     static public MessageTool getInstance() {
21         if (theInstance == null) theInstance = new MessageTool();
22         return theInstance;
23     }
24 }
25
26 public class ConsoleMessageTool : MessageToolImpl {
27     public void send(string message) {
28         Console.WriteLine(message);
29     }
30 }
31
32 } // namespace