Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. interface ILog
  2. {
  3. void Log(int level, string message);
  4. }
  5.  
  6. interface ILogMessage
  7. {
  8. ILog Log { get; }
  9. string Message { get; }
  10. }
  11.  
  12. public static class ILogExtensions
  13. {
  14. private class LogMessage : ILogMessage
  15. {
  16. public LogMessage(ILog log, string message)
  17. {
  18. this.Log = log;
  19. this.Message = message;
  20. }
  21.  
  22. #region ILogMessage Members
  23.  
  24. public ILog Log { get; private set; }
  25.  
  26. public string Message{ get; private set; }
  27.  
  28. #endregion
  29. }
  30.  
  31. public static ILogMessage That(this ILog self, string message)
  32. {
  33. return new LogMessage(self, message);
  34. }
  35. }
  36.  
  37. public static class ILogMessageExtensions
  38. {
  39. public static void If(this ILogMessage self, Func<bool> condition)
  40. {
  41. if (condition())
  42. self.Log.Log(-1, self.Message);
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement