C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 文字列で指定したクラスのインスタンスを作成する方法


(過去ログ 48 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■26254 / inTopicNo.1)  文字列で指定したクラスのインスタンスを作成する方法
  
□投稿者/ VB勉強中 (1回)-(2008/10/05(Sun) 19:51:15)

分類:[VB.NET/VB2005 以降] 

vb.net2008です。

文字列で指定したクラスのインスタンスを作成するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/386createinstance/createinstance.html

上記のサイトの クラス名からインスタンスを作成するVB.NETのサンプル・プログラム(createinstance.vb)
を動かして見たいと思い、朝から数時間頑張ってみたのですがどうしても動かすことができません。
createinstance.vbのコードです。

Imports System

Public Class MasterClass
Public Overridable Sub Say()
Console.WriteLine("Use the Force")
End Sub
End Class

Public Class PadawanClass
Inherits MasterClass
Public Overrides Sub Say()
Console.WriteLine("Yes, Master")
End Sub
End Class

Public Class JediMaster
Shared Sub Main()
Dim masterType As Type = Type.GetType("MasterClass")
Dim obiwan As MasterClass = _
CType(Activator.CreateInstance(masterType), MasterClass)
obiwan.Say() ' 出力:Use the Force

Dim padawanType As Type = Type.GetType("PadawanClass")
Dim anakin As MasterClass = _
CType(Activator.CreateInstance(padawanType), MasterClass)
anakin.Say() ' 出力:Yes, Master
End Sub
End Class


Dim masterType As Type = Type.GetType("MasterClass")
を実行した時に masterType Is Nothing になっていて何も取得出来ていない状態が原因だと思うのですが
どうして取得できないのかさっぱり分かんない状態です。

どなたかご教授お願いします。
引用返信 編集キー/
■26255 / inTopicNo.2)  Re[1]: 文字列で指定したクラスのインスタンスを作成する方法
□投稿者/ VB勉強中 (2回)-(2008/10/05(Sun) 20:06:00)
Type.GetType("MasterClass")
MasterClassは同じ場所に書いていても、名前空間も書かないといけなかったみたいです。

すみません。自己解決しました。
引用返信 編集キー/
■26256 / inTopicNo.3)  Re[2]: 文字列で指定したクラスのインスタンスを作成する方法
□投稿者/ VB勉強中 (3回)-(2008/10/05(Sun) 20:06:27)
締めます。

またよろしくお願いします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -