2

我被指派记录一些新代码,但我不知道下面的代码是如何工作的。这是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。)

4

2 回答 2

3

这是一个构造函数 - 它获取传递给它的 DataRow(“r”),并使用该行中的字段值来初始化其属性。

基本上,当创建此类型时,您必须传递一个DataRow已经初始化的(并且具有所有值)。对象的三个属性(UserIDWorkIDOfficialGroupID)将从行的“userID”、“workID”等字段中获取它们的值。

于 2012-05-23T18:49:01.677 回答
1

r是一个DataRow。它有一个扩展方法.Field

WorkID = r.Field(Of Int32)("workID")

这意味着:设置WorkID为数据行中名为“workID”的列的值,该值的类型为Int32.

于 2012-05-23T18:51:09.990 回答