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
56
57
|
using System;
using System.Diagnostics.Contracts;
namespace BE.Framework.Events
{
/// <summary>
/// Type Save Generic Eventargs
/// </summary>
/// <typeparam name="T">Type of the Argument Value</typeparam>
/// <remarks>This generic inherited version of the default eventargs can be used to avoid many dummy eventarg classes. </remarks>
public class EventArgs<T> : System.EventArgs
{
[ContractInvariantMethod]
void ObjectInvariant()
{
Contract.Invariant(this.Value != null);
}
private T m_Value;
/// <summary>
/// Gets or sets the value of the EventArgs.
/// </summary>
/// <value>The value.</value>
public T Value
{
get
{
return m_Value;
}
private set
{
m_Value = value;
}
}
/// <summary>
/// Initializes a new instance of the <see cref="GenericEventArgs<T>"/> class.
/// </summary>
public EventArgs()
: base()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="GenericEventArgs<T>"/> class.
/// </summary>
public EventArgs(T value)
: this()
{
Contract.Requires<ArgumentNullException>(value != null);
Contract.Ensures(this.Value != null);
this.Value = value;
}
}
}
|