forked from pythonnet/pythonnet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheventtest.cs
More file actions
130 lines (88 loc) · 3.46 KB
/
eventtest.cs
File metadata and controls
130 lines (88 loc) · 3.46 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// ==========================================================================
// This software is subject to the provisions of the Zope Public License,
// Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
// THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
// WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
// FOR A PARTICULAR PURPOSE.
// ==========================================================================
using System;
using System.Windows.Forms;
namespace Python.Test {
//========================================================================
// Supports CLR event unit tests.
//========================================================================
public delegate void TestEventHandler(object sender, TestEventArgs e);
public class EventTest {
public void WinFormTest() {
EventTest e = new EventTest();
EventHandler h = new EventHandler(e.ClickHandler);
Form f = new Form();
f.Click += h;
//f.Click(null, new EventArgs());
f.Click -= h;
}
public void ClickHandler(object sender, EventArgs e) {
Console.WriteLine("click");
}
public static event TestEventHandler PublicStaticEvent;
protected static event TestEventHandler ProtectedStaticEvent;
internal static event TestEventHandler InternalStaticEvent;
private static event TestEventHandler PrivateStaticEvent;
public event TestEventHandler PublicEvent;
protected event TestEventHandler ProtectedEvent;
internal event TestEventHandler InternalEvent;
private event TestEventHandler PrivateEvent;
public static int s_value;
public int value;
public EventTest () {
this.value = 0;
}
static EventTest () {
s_value = 0;
}
public void OnPublicEvent(TestEventArgs e) {
if (PublicEvent != null) {
PublicEvent(this, e);
}
}
public void OnProtectedEvent(TestEventArgs e) {
if (ProtectedEvent != null) {
ProtectedEvent(this, e);
}
}
public static void OnPublicStaticEvent(TestEventArgs e) {
if (PublicStaticEvent != null) {
PublicStaticEvent(null, e);
}
}
protected static void OnProtectedStaticEvent(TestEventArgs e) {
if (ProtectedStaticEvent != null) {
ProtectedStaticEvent(null, e);
}
}
public void GenericHandler(object sender, TestEventArgs e) {
this.value = e.value;
}
public static void StaticHandler(object sender, TestEventArgs e) {
s_value = e.value;
}
public static void ShutUpCompiler() {
// Quiet compiler warnings.
EventTest e = new EventTest();
TestEventHandler f = new TestEventHandler(e.GenericHandler);
ProtectedStaticEvent += f;
InternalStaticEvent += f;
PrivateStaticEvent += f;
e.ProtectedEvent += f;
e.InternalEvent += f;
e.PrivateEvent += f;
}
}
public class TestEventArgs : EventArgs {
public int value;
public TestEventArgs(int v) {
this.value = v;
}
}
}