'Field'不是'System.Data.DataRow'的成员

Jam*_*123 7 c# vb.net

我正在使用VS2005 for vb.net.我在下面的语句中收到编译错误.如何解决这个问题?

    For Each rw As DataRow In data.Rows
        For Each dc As DataColumn In stringColumns
            rw.Field(Of String)(dc).Replace("_x00D_", "") //Error showing here
        Next
    Next
Run Code Online (Sandbox Code Playgroud)

Dam*_*ith 24

添加引用System.Data.DataSetExtensions.dll然后您的代码将起作用.Field是一个扩展方法,你需要添加引用,否则它将无法正常工作.

VS 2005与.net 2.0?

那么你不能添加对这个DLL的引用.您需要以.net 3.5或更高版本为目标才能使用这些扩展方法.


小智 10

更新2:向上投票另一个更直接/明确的答案:-)


更新:虽然以下仍然适用,有一个DataRow.Field由提供DataRowExtensions类; 确保它被引用.


因为没有FieldDataRow类型上定义的成员...也许特殊Item属性意味着?

请注意,它用作索引器(row("Name"))的示例.整洁,对吧?

(另外,一些应该与完成结果的的Replace作为字符串在.NET不可改变的.)

快乐的编码.