C# .NET4.0 改为 到.NET2.0 时 TypedTableBase 报错解决方法

.NET 4.0 降版本 到.NET 2.0。不出意外,问题必然来了。

编译错误一:

错误 1 命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)
解决:

删掉该引用--没用到情况下,呵呵

使用Linq时,引用一个LinqBridge.dll 就可以了

编译错误二:

错误 2 命名空间“System.Data”中不存在类型或命名空间名称“TypedTableBase”(是缺少程序集引用吗?)

解决:

该错误出现在代码生成工具生成Dataset的片段里面。

.NET 4.0 : public partial class SubusersDataTable : global::System.Data.TypedTableBase<SubusersRow> {

要改成

.NET 2.0: public partial class SubusersDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {

然后编译会出现另一个错误

错误 1 “DataTable”不实现接口成员“System.Collections.IEnumerable.GetEnumerator()”

查了以下网页 有好几种解决方法。

http://www.cnblogs.com/30ErLi/archive/2010/09/14/1826101.html

http://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.getenumerator(VS.80).aspx

继承接口加上下面这段就可以了

public System.Collections.IEnumerator GetEnumerator()
{
return GetEnumerator();
}

C# .NET4.0 改为 到.NET2.0 时 TypedTableBase 报错解决方法

上一篇:cygwin 的安装和配置


下一篇:对C#泛型中的new()约束思考