私はMyClassを呼び出すクラスを持っています。内部には、オブジェクト内から呼び出せるようにする非直列化コードがあります。クラスに関連付けられた値をクラス内から割り当てる、よりクリーンな方法がありますか?ここ は、私は(表向きは同じオブジェクト型を表す)に私をMYTEMPの結果を代入することはできませんが、私はMYTEMPの性質のすべてを割り当てることができ、私は今現在のクラスのインスタンスに値を割り当てます。
Public Class MyClass
Public Property Prop1 as New String(String.empty)
Public Property Prop2 as New String(String.empty)
Public Property Prop3 as Boolean = False
Public Sub LoadXML(ByVal XMLText as String)
Dim MyTemp as New MyClass
MyTemp = CType(DeSerialize(XMLText, MyTemp.Type), MyClass) 'this returns an object
Me.Prop1 = MyTemp.Prop1
Me.Prop2 = MyTemp.Prop2
Me.Prop3 = MyTemp.Prop3
End Sub
End Class
をやっているものです~プロパティMe。私の実際のクラスははるかに複雑なので(例ではプリミティブを使用しましたが、他の多くのクラスのプロパティを持つかなり大きなクラスです)、MyTempの値を割り当てるより良い方法があるかどうかは疑問でした。クラスのインスタンス
「MyTemp」のポイントは何ですか? XMLは既にMyClassオブジェクトを表しているので、プロパティでtempオブジェクトプロパティをホップスコッチするのではなく、直接作成するだけです。 – Plutonix
@Plutonix、 "XMLが既にMyClassオブジェクトを表しています..."という意味がわかりません - XMLはLoadXMLサブに渡されるString型です。 MyTempの目的は、私に相当するオブジェクトを作成することです。 「Me = CType(DeSerialize(XMLText、Me.Type)、MyClass)」のようなことはできないので、私はtempを作成して、トップレベルのプロパティを使ってホップスコッチしなければなりません。それは愚かに見えますが、それが私がこの問題を提起した理由です。 –