【发布时间】:2012-02-15 17:07:56
【问题描述】:
我正在构建一个具有公共属性 (MyDTOItem) 的页面背后的代码,该属性本质上是一个 DTO 对象 (dtDTOItem) 注意:在我的代码中,Get 和 Set 实际上是真实的代码(我在示例中去掉了它)。
我遇到的问题在于 Page_Load 事件。当我设置 DTO 对象的 .Member1 属性时,Get 代码运行而不是 Set,因此 DTO ibject 属性 .Member1 永远不会被分配。
我发现如果我将代码 (MyDTOItem = New dtDTOItem) 添加到 Page_Load 事件,那么它将正确设置值。我想弄清楚的是如何初始化属性对象而不必显式地进行。它必须是扩展属性,因为我有自定义 Get 和 Set 代码。
提前谢谢你。
Public Property MyDTOItem As dtDTOItem
Get
End Get
Set(value As dtDTOItem)
End Set
End Property
<DataContract(), Serializable()> _
Public Class dtDTOItem
<DataMember()> _
Property Member1 As String = ""
<DataMember()> _
Property Member2 As String = ""
<DataMember()> _
Property Member3 As String = ""
End Class
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MyDTOItem.Member1 = "temp string"
End Sub
【问题讨论】:
标签: vb.net class properties