0

我使用数据集设计器创建了一个数据集。我的一张桌子被调用Users,所以有一个名为UsersDataTable. 在这个类中有一些属性,即Connection. 所以我创建了一个Partial Class UsersDataTable,但UsersDataTable设计器代码隐藏文件中的类中的任何例程、属性或变量对我来说都是不可见的。

我只是试图扩展该类以添加我自己的例程,但利用设计器生成的类的连接和强类型。我已经尝试创建自己的部分类并测试它们以查看其他类是否存在问题而我没有。只有使用这些数据集设计器生成的类,我才能访问部分类的另一半中的项目。

我在.Net 4 中工作。我可能做错了什么?

4

2 回答 2

1

所有的“部分”类都必须这样声明才能使这种技术起作用,我猜 Visual Studio DataSet 设计器不会生成部分类:

http://msdn.microsoft.com/en-us/library/wa80x488(v=VS.100).aspx

您可能需要从设计器生成的类中继承。


编辑:刚刚查看了一些 VS2010 生成的 DataSet 类,它们确实是部分的,所以假设您使用的是 .NET 4,那么您的也应该是部分的。我会进一步调查。


进一步编辑:

好的,由于设计器将 *DataTable 类创建为继承自 DataSet 的类中的嵌套类,因此您可能需要在分部类中执行相同操作:

public partial class UsersData
{
    public partial class UsersDataTable
    {
        public string Foo { get; set; }
    }
}

这似乎对我有用。

于 2011-05-10T19:51:52.093 回答
0

好像我刚刚使用错误的标识符扩展了我的课程:

命名空间中有一个Namespace和内部是Partial Public Class. 因此我的代码:

Partial Public Class myData
    Partial Public Class UsersTableAdapter
        Public Function DoSomething() As String
            Return "Testing..."
        End Function
    End Class
End Class

错了......我需要的是:

Namespace myDataTableAdapters
    Partial Public Class UsersTableAdapter
        Public Function DoSomething() As String
            Return "Testing..."
        End Function
    End Class
End Namespace
于 2011-05-11T12:27:26.723 回答