namespace Caliburn.Micro.Core { /// /// A marker interface for classes that subscribe to messages. /// public interface IHandle { } /// /// Denotes a class which can handle a particular type of message. /// /// The type of message to handle. public interface IHandle : IHandle { //don't use contravariance here /// /// Handles the message. /// /// The message. void Handle(TMessage message); } }