回答編集履歴
3
修正
test
CHANGED
@@ -1,16 +1,12 @@
|
|
1
1
|
正直あまりいい書き方、というかあまり意味のある書き方ではないのかなと思います。
|
2
2
|
|
3
|
-
問題点
|
4
|
-
|
5
|
-
|
3
|
+
やりたいことに対して手間だけがかかっている印象です。
|
6
|
-
|
7
|
-
・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり新しいプロパティを最低二回書かないといけない
|
8
4
|
|
9
5
|
|
10
6
|
|
11
7
|
前の回答者様の回答を見た上での回答なのでちょっとずるいですが、
|
12
8
|
|
13
|
-
質問者様のやりたいことを実現したいなら単に
|
9
|
+
質問者様のやりたいことを実現したいなら単に全ての設定の情報を持たせたクラスを一つ作ればいいだけだと思います。で、どこからでも使えるようにシングルトンとして実装するといいかもしれませんね。
|
14
10
|
|
15
11
|
```C#
|
16
12
|
|
2
修正
test
CHANGED
@@ -4,9 +4,7 @@
|
|
4
4
|
|
5
5
|
・設定一つ追加するのに、インターフェースと実装クラス両方に対してプロパティを書かないといけない(二度手間)
|
6
6
|
|
7
|
-
・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり
|
7
|
+
・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり新しいプロパティを最低二回書かないといけない
|
8
|
-
|
9
|
-
新しいプロパティを最低二回書かないといけない
|
10
8
|
|
11
9
|
|
12
10
|
|
1
修正
test
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
正直あまりいい書き方、というかあまり意味のある書き方ではないのかなと思います。
|
2
|
+
|
3
|
+
問題点
|
4
|
+
|
5
|
+
・設定一つ追加するのに、インターフェースと実装クラス両方に対してプロパティを書かないといけない(二度手間)
|
6
|
+
|
7
|
+
・新しいクラスが追加されると、インターフェースが一つ増える、AppWholeConfigの親が一つ増える、やはり
|
8
|
+
|
9
|
+
新しいプロパティを最低二回書かないといけない
|
2
10
|
|
3
11
|
|
4
12
|
|
@@ -8,13 +16,13 @@
|
|
8
16
|
|
9
17
|
```C#
|
10
18
|
|
11
|
-
public sealed class
|
19
|
+
public sealed class AppWholeConfig
|
12
20
|
|
13
21
|
{
|
14
22
|
|
15
|
-
private static
|
23
|
+
private static AppWholeConfig instance = new AppWholeConfig();
|
16
24
|
|
17
|
-
public static
|
25
|
+
public static AppWholeConfig Instance {
|
18
26
|
|
19
27
|
get {
|
20
28
|
|
@@ -26,17 +34,17 @@
|
|
26
34
|
|
27
35
|
|
28
36
|
|
29
|
-
private
|
37
|
+
private AppWholeConfig()
|
30
38
|
|
31
39
|
{
|
32
40
|
|
33
|
-
|
41
|
+
ConfigurationValue1 = 1;
|
34
42
|
|
35
43
|
}
|
36
44
|
|
37
45
|
|
38
46
|
|
39
|
-
public int
|
47
|
+
public int ConfigurationValue1{get;set;}
|
40
48
|
|
41
49
|
public string Path1 {get;set;}
|
42
50
|
|
@@ -48,8 +56,8 @@
|
|
48
56
|
|
49
57
|
///使い方
|
50
58
|
|
51
|
-
int data1 =
|
59
|
+
int data1 = AppWholeConfig.Instance.ConfigurationValue1;
|
52
60
|
|
53
|
-
|
61
|
+
AppWholeConfig.Instance.Path1 = @"C:\Work";
|
54
62
|
|
55
63
|
```
|