- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathThreadEx.cs
More file actions
Latest commit
43 lines (36 loc) · 1.13 KB
/
Copy pathThreadEx.cs
File metadata and controls
43 lines (36 loc) · 1.13 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
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading;
usingSystem.Threading.Tasks;
namespaceDetectDetect{
internaldelegatevoiddel_onFinish(ThreadExthr);
internalclassThreadEx{
internalstaticThreadExCreate(ThreadStartstart)=>newThreadEx(start);
privateThreadStart_start;
privateeventdel_onFinishonFinishEvent;
privateThread_internalThread;
internalThreadEx(ThreadStartstart){
_start=start;
}
internalThreadExOnFinish(del_onFinishonFinish){
onFinishEvent+=onFinish;
returnthis;
}
internalThreadExAddToList(List<ThreadEx>list){
list.Add(this);
returnthis;
}
internalThreadExStart(){
newThread(internal_try_start).Start();
returnthis;
}
privatevoidinternal_try_start(){
try{
_start.Invoke();
}catch(Exceptione){Console.WriteLine(e.Message);}
onFinishEvent?.Invoke(this);
}
}
}