public Image GetMessageImage(
     MessageType type,
     MessageFlagExistence hasUnreaded,
     bool hasUnreadRepliesToMe,
     MessageFlagExistence hasModeratorials,
     bool closed)
 {
     return
         (_images.Get(new MsgImageKey(type, hasUnreaded, hasUnreadRepliesToMe, hasModeratorials, closed)));
 }
 public MsgImageKey(
     MessageType type,
     MessageFlagExistence hasUnreaded,
     bool hasUnreadRepliesToMe,
     MessageFlagExistence hasModeratorials,
     bool closed)
 {
     _type                 = type;
     _hasUnreaded          = hasUnreaded;
     _hasUnreadRepliesToMe = hasUnreadRepliesToMe;
     _hasModeratorials     = hasModeratorials;
     _closed               = closed;
 }
        public Image GetMarkImage(MessageFlagExistence existence)
        {
            switch (existence)
            {
            case MessageFlagExistence.None:
                return(null);

            case MessageFlagExistence.OnMessage:
                return(_markImage);

            case MessageFlagExistence.OnChildren:
                return(_marksImage);

            default:
                throw new ArgumentOutOfRangeException("existence");
            }
        }
 public Image GetAutoReadImage(MessageFlagExistence existence)
 {
     return(existence == MessageFlagExistence.None ? null : _autoReadImage);
 }