回答編集履歴

1

参考コード追記

2019/01/10 11:34

投稿

negitama
negitama

スコア943

test CHANGED
@@ -1 +1,55 @@
1
1
  非MonoBehaviourな内部クラスにフィールドを持たせて、そのコンストラクタでのみ値をセットできるようにしてはいかがでしょうか。
2
+
3
+ たとえば以下のような感じで。
4
+
5
+
6
+
7
+ ```C#
8
+
9
+ using UnityEngine;
10
+
11
+
12
+
13
+ public class InitReadOnlyField : MonoBehaviour
14
+
15
+ {
16
+
17
+ // 内部クラス
18
+
19
+ private class MyField
20
+
21
+ {
22
+
23
+ private int myInt;
24
+
25
+ public int MyInt => myInt;
26
+
27
+
28
+
29
+ // コンストラクタでのみ値をセットできる
30
+
31
+ public MyField ( int val )
32
+
33
+ {
34
+
35
+ myInt = val;
36
+
37
+ }
38
+
39
+ }
40
+
41
+
42
+
43
+ private void Start ()
44
+
45
+ {
46
+
47
+ var a = new MyField(3);
48
+
49
+ Debug.Log ( a.MyInt );
50
+
51
+ }
52
+
53
+ }
54
+
55
+ ```