文字列でプロパティを設定する方法
- 題名: 文字列でプロパティを設定する方法
- 著者: パハハ
- 日時: 2006/04/06 9:40:35
- ID: 15223
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 文字列でプロパティを設定する方法
- 著者: パハハ
- 日時: 2006/04/06 11:31:41
- ID: 15226
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 文字列でプロパティを設定する方法
- 著者: パハハ
- 日時: 2006/04/06 16:21:16
- ID: 15230
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。VB.Net初心者です。
今困っていることをお教えいただければと思っております。
よろしくお願いいたします。
「文字列で指定されたメソッドを実行する」という記事を
拝見いたしました(.Net Tips>>その他のTips)。
Typeのインスタンスを作って、それからInvokeすればいい、
と言うことはわかりました。
同じように、プロパティの設定は、SetProperty()で実行できることも
わかったのですが、
設定するプロパティの値が、文字列ではない型のものだとして、
その値をファイルから読みこんでセットする場合、何か共通の手立ては
ないでしょうか?
たとえば、FormのControlのプロパティ定義したファイルがあるとします。
Name="TxtHOGE"
Text="ほげほげ"
Location="{X=120, Y=100}"
と記述したテキストファイルから、コントロールオブジェクトを
作りたいのです。
Nameは、以下のように
dim cntl as Control = new Control()
dim ty as Type = Type.GetType(cntl)
Dim pr As PropertyInfo = ty.GetProperty("Name")
pr.SetValue(cntl, "TxtHOGE", Nothing)
とすれば、コントロールcntlのnameに"TxtHOGE"をセットする
ことができました。Textも同様です。
(ここでは文字列を直接コーディングしていますが、
実際はファイルをStringの変数に読み込み、それを指定しました)
しかし、Locationは、Pointクラスのため、
ファイルに記述された"{X=120, Y=100}" からPointを
作らなければなりません。
このような場合、
この文字列を構文解釈するメソッドを個別に作らないと
ならないのでしょうか?
ちなみに、
この"{X=120, Y=100}" という文字列は、Locationのインスタンスの
ToString()メソッドを実行した結果です。
.Netのクラスには、ToString()はありますが、
FromString()といったメソッドは一般的には無いのでしょうか?