我被指派记录一些新代码,我无法弄清楚下面的代码是如何工作的。这是公共类的新Sub
。
我猜“r”代表行,但三个属性如何获取数据?我在代码中找不到任何有助于阐明这一点的内容。
Protected Sub New(ByVal r As DataRow)
UserID = r.Field(Of Int32)("userID")
OfficialGroupID = r.Field(Of Guid?)("officialGroupID")
WorkID = r.Field(Of Int32)("workID")
End Sub
这里发生了什么?
(我是.NET新手,来自ASP Classic。)
答案 0 :(得分:3)
这是一个构造函数 - 它将DataRow传递给它(“r”),并使用该行中的字段值来初始化其属性。
基本上,当创建此类型时,您必须向其传递已初始化的DataRow
(并具有所有值)。对象的三个属性(UserID
,WorkID
和OfficialGroupID
)将从行的“userID”,“workID”等字段中获取其值。
答案 1 :(得分:1)
r
是DataRow。它的扩展方法为.Field
:
WorkID = r.Field(Of Int32)("workID")
表示:将WorkID
设置为数据行中名为“workID”的列的值,该值的类型为Int32
。