掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.netにて、構造体の中身をString変数にコピーするには? (ID:83280)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 恥ずかしながら、実装というのがイマイチよくわからないのです・・・ 「実装」という言葉を、国語辞典的に言えば 『部品や機能を作成して、それを取り付けること』 となります。英語で言えばimplement(ation)でしょうか。 で、今回の場合は 『メソッド(VBではFunctionプロシージャ)を定義する』 という程度の意味で書きました。 つまり、構造体に変数メンバ(strA〜strC)を定義するだけでなく、 それらを連結した文字列を返すようなメソッドを 「Function ToString() As String」 などとして定義してみてはどうですか、という事です。 VB6の時は、APIを使って結合されたとの事ですが、変数3つを連結する程度の 処理なら、APIを持ち出す必要も無いかな?という判断です。 > 実装するコード(方法)を教えていただけないでしょうか? 現時点のコードで、 strValue = ABC.ToString() を実行すると、ABCのデータ型、例えば『〜〜.Form1+STRC_ABC』のような 文字列が渡されますよね。 で。私の「StructureにToStringメソッドを実装する」という発言は、 Public Structure STRC_ABC : Overrides Function ToString() As String Return strA & strB & strC End Function End Structure のような定義を行う、という意味を想定していました。 こうすると、先ほどの strValue = ABC.ToString() で『abc』が返されるようになりますし、 Trace.WriteLine(ABC) Debug.WriteLine(ABC) S = String.Format("{0}", ABC) などとした時にも、『abc』が返される事になります。 元のToStringの動作を変更したくないなら、他の名前(例えばKAI)にして Public Structure STRC_ABC : Function KAI() As String Return strA & strB & strC End Function End Structure などと定義しておき、それを strValue = ABC.KAI() のように呼び出すのでも良いかと。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.