DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#のdllをVBでしようできますか?

環境/言語:[VB.net]
分類:[.NET]

C#で作成したdllをVbで使用したいのですが
そうしたらいいですか?
教えてください。
■No10301に返信(マンゴスチンさんの記事)
> C#で作成したdllをVbで使用したいのですが
> そうしたらいいですか?
> 教えてください。
>
Dim asm As System.Reflection.Assembly
Dim wInstance as Object '場合によって型変更が必要
asm = System.Reflection.Assembly.LoadFrom("[Dll名、Dllのパス含む]")
Try
wInstance = asm.CreateInstance("[NameSpace.クラス名]")
Catch ex As Exception
MsgBox(ex.ToString)
End Try

wInstanceにオブジェクトが作成されます。NameSpace . クラス名は大文字、小文字厳密に記述が必要です。
検証してません。間違ってたらごめんなさい。
VB.NETだろうがC#だろうがMSILを経由するので(基本的には)「同じ」アセンブリですから、
任意に取り込めます。
作成しているプロジェクトの「参照設定」で「参照の追加」を開いて、
右端の「参照」ボタンで表示されるファイル選択ダイアログでdllを探して指定してください。

通常は、上の回答のようにObject型を使って実行時に型解決する必要はありません。
実行時に後付けでdllを入れ替えたり好き勝手したい場合は、上の回答のように実行時に解決させるような無茶もできます。
ありがとうございました。
参照設定がうまくできました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板