author | StephaneLenclud |
Sun, 21 Aug 2016 16:30:58 +0200 | |
changeset 248 | 0220cb84df58 |
parent 238 | c92587ddabcd |
child 253 | 2dae7a163fff |
permissions | -rw-r--r-- |
1 //
4 using System;
5 using System.Collections.Generic;
6 using System.Runtime.Serialization;
7 using System.Threading;
9 namespace SharpLib.Ear
10 {
11 [DataContract]
12 public abstract class Action: Object
13 {
14 protected abstract void DoExecute();
16 /// <summary>
17 /// Allows testing from generic edit dialog.
18 /// </summary>
19 public void Test()
20 {
21 Console.WriteLine("Action test");
22 Execute();
23 }
25 public void Execute()
26 {
27 Console.WriteLine("Action executing: " + Brief());
28 if (!IsValid())
29 {
30 Console.WriteLine($"WARNING: action invalid, aborting execution.");
31 return;
32 }
34 DoExecute();
35 }
37 }
40 }