1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
[DataContract]
public class Key
{
#region Constructor
public Key()
{
this.value = System.Guid.NewGuid().ToString();
this.date = DateTime.Now;
this.Clock = new Timer(new TimerCallback(AskDeletation), null, 5000, Timeout.Infinite);
}
#endregion
[DataMember]
public string value { get; set; }
[DataMember]
public DateTime date { get; set; }
#region Deletation Handler
Timer Clock;
public event EventHandler<KeyTimeOutEvent> RaiseDeletationDemand;
private void AskDeletation(object sender)
{
OnRaiseDeletationDemand(new KeyTimeOutEvent("Delete"));
}
protected virtual void OnRaiseDeletationDemand(KeyTimeOutEvent e)
{
EventHandler<KeyTimeOutEvent> handler = RaiseDeletationDemand;
if (handler != null)
{
e.Message += String.Format(" at {0}", DateTime.Now.ToString());
handler(this, e);
}
}
#endregion
}
[DataContract]
public class KeyTimeOutEvent : EventArgs
{
#region Constructor
public KeyTimeOutEvent(string s)
{
this.Message = s;
}
#endregion
[DataMember]
public string Message { get; set; }
} |
Partager