回答編集履歴

6

指摘について

2016/06/27 07:36

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -138,6 +138,16 @@
138
138
 
139
139
 
140
140
 
141
+ > 『(参照渡し)dsTestはメソッドA内で生成されるとメソッドAが持つメモリになるので遷移元で生成』
142
+
143
+
144
+
145
+ 文脈がわからないですが、素直に受け取ると、「なに言ってんだこいつ」って感じです。
146
+
147
+
148
+
149
+ ---
150
+
141
151
 
142
152
 
143
153
  「参照渡し」と「参照型変数の値渡し」は

5

コード修正

2016/06/27 07:36

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -114,7 +114,7 @@
114
114
 
115
115
 
116
116
 
117
- Shared sub B(ByRef h)
117
+ Shared sub B(ByRef h as Hoge)
118
118
 
119
119
  h = new Hoge()
120
120
 

4

表現を柔らかく

2016/06/27 02:41

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -142,6 +142,6 @@
142
142
 
143
143
  「参照渡し」と「参照型変数の値渡し」は
144
144
 
145
- それなりにプログラム組める人でも混同しているので
145
+ それなりにプログラム組める人でも混同していることがあるので
146
146
 
147
147
  注意です。

3

参照渡しと参照型の値渡しについて

2016/06/27 02:28

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -135,3 +135,13 @@
135
135
 
136
136
 
137
137
  呼び出し元に影響します。
138
+
139
+
140
+
141
+
142
+
143
+ 「参照渡し」と「参照型変数の値渡し」は
144
+
145
+ それなりにプログラム組める人でも混同しているので
146
+
147
+ 注意です。

2

2について

2016/06/27 02:27

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ret = A()
16
16
 
17
- Console.WriteLine (ret.AskIfDisposed())
17
+ Console.WriteLine (ret.AskIfDisposed()) ' ここがどうなるか?
18
18
 
19
19
  return 0
20
20
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  Finally
36
36
 
37
- h.FakeDispose()
37
+ h.FakeDispose() 'ここをコメントアウトしてみたりすると
38
38
 
39
39
  End Try
40
40
 
@@ -80,4 +80,58 @@
80
80
 
81
81
 
82
82
 
83
- まあ当然呼び出し元に影響します。
83
+ 呼び出し元に影響します。
84
+
85
+
86
+
87
+ 続いて2.
88
+
89
+
90
+
91
+ ```VB
92
+
93
+ public class compiler
94
+
95
+ shared function Main as integer
96
+
97
+ ' Here your code !
98
+
99
+ Dim ret as Hoge = Nothing
100
+
101
+ B(ret) 'ここをコメントアウトしてみたりしなかったりすると
102
+
103
+
104
+
105
+ if ret IsNot Nothing
106
+
107
+ Console.WriteLine ("not null") 'ここが表示されるか?
108
+
109
+ End if
110
+
111
+ return 0
112
+
113
+ End function
114
+
115
+
116
+
117
+ Shared sub B(ByRef h)
118
+
119
+ h = new Hoge()
120
+
121
+ End sub
122
+
123
+
124
+
125
+ end class
126
+
127
+
128
+
129
+ class Hoge
130
+
131
+ end class
132
+
133
+ ```
134
+
135
+
136
+
137
+ 呼び出し元に影響します。

1

結論の追記

2016/06/27 02:20

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -77,3 +77,7 @@
77
77
  end class
78
78
 
79
79
  ```
80
+
81
+
82
+
83
+ まあ当然呼び出し元に影響します。