mono c#。 DataRow:“Field”扩展方法丢失了吗?

时间:2011-04-07 21:13:06

标签: c# mono datarow

在Windows(.NET Framework 3和3.5)中编写C#时,我经常使用DataRow对象(或DataRowCollection)。 现在,我想在Linux中使用mono开发的C#程序中使用它。 我的问题是:我在使用单声道时没有找到DataRow的“Field”扩展方法......有人可以帮助我吗?

提前致谢。

(例如:return ds.Table[0].Rows[0].Field<int>(0)

4 个答案:

答案 0 :(得分:4)

通过查看documentation,Field在System.Data.DataSetExtensions中定义。我不确定它是否在Mono中可用,但尝试为此命名空间添加“using”语句。如果找不到命名空间,可能需要在项目中添加引用。

答案 1 :(得分:0)

您引用的扩展方法在 System.Data.DataSetExtensions.dll 中定义。如果该程序集是Mono发行版的一部分,则应添加对它的引用。如果不是,您可以尝试从MS .NET安装中复制它,看它是否有效。

答案 2 :(得分:0)

GetInt32(0)有什么不同?

答案 3 :(得分:-2)

哦,我的。

您确实应该使用名称作为数据集合的索引键:ds.Table [“Table Name”]。行[rowIndex] [“Column Name”]

更具可读性和可维护性。

编辑: VB字段扩展方法:

<Extension>
Public Function Field(ByRef tRow As DataRow, ByVal tColumnName As String) As Object
    Return tRow(tColumnName)
End Function