■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 になっていて何も取得出来ていない状態が原因だと思うのですが どうして取得できないのかさっぱり分かんない状態です。
どなたかご教授お願いします。
|
|