質問するログイン新規登録

回答編集履歴

1

回答自体変更

2018/06/26 22:57

投稿

tamoto
tamoto

スコア4345

answer CHANGED
@@ -1,10 +1,50 @@
1
1
  こんにちは。
2
+ ~~目的が不明なので外してるかもしれませんが、staticコンストラクタでは目的を達成できませんか?~~
2
3
 
3
- 目的が不明なので外してるかもしれませんが、staticコンストラクタでは目的を達成できませんか?
4
-
5
4
  ```csharp
6
5
  static Sample(){
7
6
  SET();
8
7
  }
9
8
 
9
+ ```
10
+
11
+ ---
12
+
13
+ 追記
14
+
15
+ コードが別物ですけど、テンプレートメソッドパターン……とか。
16
+
17
+ ```csharp
18
+ public abstract class Sample
19
+ {
20
+ public void Run()
21
+ {
22
+ this.SET();
23
+ this.Action();
24
+ }
25
+
26
+ private void SET()
27
+ { }
28
+
29
+ protected abstract void Action();
30
+ }
31
+
32
+ public class A : Sample
33
+ {
34
+ protected override void Action()
35
+ {
36
+ // A...
37
+ }
38
+ }
39
+
40
+ public class B : Sample
41
+ {
42
+ protected override void Action()
43
+ {
44
+ // B...
45
+ }
46
+ }
47
+
48
+ public class C : Sample
49
+ { ... }
10
50
  ```