2012-05-23 71 views
2

我已经被分配来记录一些新的代码,并且我无法弄清楚下面的代码是如何工作的。这是公开课的新SubVB.NET 4.0中的类属性

我猜测“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来了。)

回答

3

这是一个构造 - 它得到一个DataRow传递给它(“R”),并使用中的字段的值该行初始化其属性。

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

+0

哦好吧,所以其他一些类将它称为新MyClass(数据集)? – SkyeBoniwell

+0

哎呀我的意思是(datarow) – SkyeBoniwell

+1

@ 999cm999是的。可能通过循环遍历表的每一行,或者通过LINQ查询... –

1

rDataRow。它具有.Field扩展方法:

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

这意味着:设置WorkID到具有名称“workID”和值的类型的数据行中的列的值是Int32