函数(Of T)(ByVal x作为整数)实际上是什么意思?

时间:2010-02-24 19:24:53

标签: asp.net vb.net

我对这个概念很陌生。

我在某些代码中看到了一些函数:

Public Function GetDataObjects(Of Customer)(ByVal dataset as DataSet)
 ...
End Function

(Of Customer)在这个例子中究竟做了什么或意味着什么?

3 个答案:

答案 0 :(得分:2)

定义看起来不像:

Public Function GetDataObjects(Of T)(ByVal dataset as DataSet) as IList<T>
 ...
End Function

然后你就像

一样使用它
IList(Of Customer) customers = GetDataObjects(Of Customer)(someDataSet)

如果是这样,Customer提供了一个真实的类型来代替在GetDataObjects函数中使用T的操作

答案 1 :(得分:1)

这意味着此方法是通用的。它有一个名为Customer的通用参数,没有约束。

您能为GetDataObjects方法提供更多代码,以便我们可以添加更好的解释吗?

答案 2 :(得分:0)

如果没有看到返回值的函数部分,它似乎意味着该函数的返回类型是Customer。

您所看到的是VB.NET处理泛型的方法之一。

约翰

(我可能错了。自从我做VB.NET工作以来已经有一段时间了。)

修改

这是不是的返回类型。 (很抱歉有这种混淆。)它只是向函数提供了“客户”应被视为特定类型的信息。客户成为定义类型的“参数”。它可以是Integer,String,Object,Decimal或任何其他类型。 (这是所有基本的泛型。)

据推测,该函数以某种方式使用此类型,但签名未显示使用。 (一种猜测是,临时标记为“客户”的类型用于确定数据集中应包含哪些列或如何使用这些列。)