回答編集履歴

1

修正

2020/09/28 08:11

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -138,6 +138,50 @@
138
138
 
139
139
 
140
140
 
141
+ よって、すべてのデリゲートは Delegate 型にキャストすることができます。
142
+
143
+
144
+
145
+ ```C#
146
+
147
+ // デリゲート型 IntBinaryOperation の宣言
148
+
149
+ delegate int IntBinaryOperation(int a, int b);
150
+
151
+
152
+
153
+ static void Main(string[] args)
154
+
155
+ {
156
+
157
+ // デリゲート add の定義
158
+
159
+ IntBinaryOperation add = (a, b) => a + b;
160
+
161
+
162
+
163
+ // add を Delegate 型にキャストして Delegate 型の変数 add2 に入れる
164
+
165
+ Delegate add2 = add;
166
+
167
+
168
+
169
+ // add2 の呼び出し(Delegate 型にキャストしているのでコンパイルエラーになる)
170
+
171
+ Console.WriteLine(add2(2, 3));
172
+
173
+
174
+
175
+ // Delegate 型は次のように呼び出す
176
+
177
+ Console.WriteLine(add2.DynamicInvoke(2, 3));
178
+
179
+ }
180
+
181
+ ```
182
+
183
+
184
+
141
185
  ### まとめ
142
186
 
143
187