回答編集履歴

1

追記

2021/04/26 01:32

投稿

fana
fana

スコア11996

test CHANGED
@@ -13,3 +13,63 @@
13
13
 
14
14
 
15
15
  例えば,testAオブジェクトの集合をListとかで管理しているやつが別途存在するとしたら,{そいつへの参照と,各testAオブジェクトにアクセスするためのindex値みたいな情報}でアクセスすれば済むかもしれない.
16
+
17
+
18
+
19
+ ---
20
+
21
+
22
+
23
+ 要は,testAに本当に必要なことは,「別のtestA型オブジェクトへの参照を保持すること」ではなくて,「別のtestA型オブジェクトへの参照を得られる手段を保持すること」なのではないか?と.
24
+
25
+
26
+
27
+ ```CSharp
28
+
29
+ //実際どうやって引っ張ってくるかは不明だが,とにかくtestA型オブジェクトへの参照を得る手段
30
+
31
+ interface ITestARef
32
+
33
+ {
34
+
35
+ testA GetTestA{ get; }
36
+
37
+ }
38
+
39
+
40
+
41
+ //
42
+
43
+ class testA
44
+
45
+ {
46
+
47
+ private readonly ITestARef I; //ITestARefを保持
48
+
49
+ public string str { get; }
50
+
51
+ public testA tempClass { get{ return I.GetTestA;} } //Iから参照を得て返す
52
+
53
+
54
+
55
+ public testA(string str)
56
+
57
+ {
58
+
59
+ this.str = str;
60
+
61
+ }
62
+
63
+ public testA(string str, ITestARef I) //testAではなくITestARefを受ける
64
+
65
+ {
66
+
67
+ this.str = str;
68
+
69
+ this.I = I;
70
+
71
+ }
72
+
73
+ }
74
+
75
+ ```