質問編集履歴

2

見やすいように質問文に反映

2019/10/04 04:51

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
File without changes
test CHANGED
@@ -71,3 +71,51 @@
71
71
  }
72
72
 
73
73
  ```
74
+
75
+
76
+
77
+ ##追記
78
+
79
+ ```cs
80
+
81
+ public abstract class MasterBase : ScriptableObject {
82
+
83
+ public abstract string ClassPath { get; }
84
+
85
+ }
86
+
87
+ ```
88
+
89
+ 上記を実装し、親で定義したプロパティを子でoverrideし実装した場合、
90
+
91
+ 外部クラス(MasterDataLoader)からそれを参照することは出来るのでしょうか?
92
+
93
+
94
+
95
+ ```cs
96
+
97
+
98
+
99
+ public class MasterDataLoader () {
100
+
101
+ public T Load<T> () where T : MasterBase {
102
+
103
+ // --- 静的でない値(プロパティ)にアクセス可能?
104
+
105
+ var path = T.ClassPath;
106
+
107
+ // ---
108
+
109
+
110
+
111
+ // ここの path に具象クラスの値を使用したい
112
+
113
+ var loadedMaster = Object.Instantiate(Resources.Load<T>(path);
114
+
115
+ return loadedMaster;
116
+
117
+ }
118
+
119
+ }
120
+
121
+ ```

1

誤字脱字修正

2019/10/04 04:51

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  public class HogeMaster : MasterBase {
40
40
 
41
- public const ClassPath = "Resources/Data/";
41
+ public const string ClassPath = "Resources/Data/";
42
42
 
43
43
  }
44
44