投稿日 2024/04/26(Fri) 03:12:00
投稿者 ゆうと
参照先

こんにちは、お世話になっております。

動作等を再現させて検討しましたが
string型とobject[]型のオーバロードの手順決定できない挙動については
仕様とさせてください。
(エラーとならずにどちらかが実行されてしまう挙動はバグです)

理由としては、
整数の配列を、C#の引数に渡す際に、string型でもobject[]型でも、値変換が必要となります。
このケースのように、助詞が一致する場合には、どちらの引数も値変換が必要な点は同じですので、どちら一方に決めることができません。

同じ配列ならobject[]型が選択されることを期待しますが、要素の型を整数からobject型に変換する必要があるため「変換が必要な手順呼び出し」と判断されます。

対策としてはC#側でint[]の値に対するオーバロードを定義するか、次のように「←」によるキャストを指定してください。この場合は正しく手順が決まります。

----
【A:整数の配列】={1,2,3,4,5,6}
(A←配列)の種類名を表示
----

参考にしてください。


関連一覧ツリー

をクリックするとツリーを一括表示します)

返信フォーム

(この投稿に返信する場合は下記フォームから投稿して下さい)
(1MBまで)
(英数字で8文字以内)

- 投稿修正/削除フォーム -
処理 No パスワード

▲ページの先頭へ

- WebForum -