.net LINQtoSQL自定义构造函数关闭部分类?

.net LINQtoSQL自定义构造函数关闭部分类?,.net,linq,linq-to-sql,constructor,partial-classes,.net,Linq,Linq To Sql,Constructor,Partial Classes,我在这里读到这个问题: 通常,我的构造函数如下所示: public User(String username, String password, String email, DateTime birthday, Char gender) { this.Id = Guid.NewGuid(); this.DateCreated = this.DateModified = DateTime.Now; this.Username = user

我在这里读到这个问题:

通常,我的构造函数如下所示:

 public User(String username, String password, String email, DateTime birthday, Char gender)
    {
        this.Id = Guid.NewGuid();
        this.DateCreated = this.DateModified = DateTime.Now;
        this.Username = username;
        this.Password = password;
        this.Email = email;
        this.Birthday = birthday;
        this.Gender = gender;
    }
但是,正如在该问题中所读到的,您希望使用partial方法OnCreated()来分配值,而不是覆盖默认构造函数。好的,我得到了这个:

partial void OnCreated()
{       
        this.Id = Guid.NewGuid();
        this.DateCreated = this.DateModified = DateTime.Now;
        this.Username = username;
        this.Password = password;
        this.Email = email;
        this.Birthday = birthday;
        this.Gender = gender;
}
但是,这给了我两个错误:

Partial Methods must be declared private.
Partial Methods must have empty method bodies.
好的,我将其更改为
Private Sub OnCreated()
,以删除这两个错误。然而,我仍然坚持…我怎样才能像传递普通自定义构造函数一样传递它的值呢?
我也在用VB做这件事(因为我知道大多数人都知道/更喜欢C),所以这会对这件事产生影响吗?

使用VB时,不应该将实现标记为
部分
,而应该简单地标记为
私有
。请看以下示例:

Private Sub OnCreated()
    ' Your code here'
End Sub

使用VB时,不应将实现标记为
Partial
,而应简单地标记为
Private
。请看以下示例:

Private Sub OnCreated()
    ' Your code here'
End Sub

无法将值传递到已创建的
中。您链接到的问题涉及重写默认构造函数的行为。听起来您希望使用如下参数化构造函数:

Public Sub New(username as String, password as String, email as String, birthday as DateTime, gender as Char)
  User.New()

  Me.Id = Guid.NewGuid()
  Me.DateCreated = this.DateModified = DateTime.Now
  Me.Username = username
  Me.Password = password
  Me.Email = email
  Me.Birthday = birthday
  Me.Gender = gender
End Sub
是否要创建如下所示的新用户:

 Dim u as User = new User()
 Dim u as User = new User("Name", "Password", "Email", etc)
或者像这样:

 Dim u as User = new User()
 Dim u as User = new User("Name", "Password", "Email", etc)

无法将值传递到已创建的
中。您链接到的问题涉及重写默认构造函数的行为。听起来您希望使用如下参数化构造函数:

Public Sub New(username as String, password as String, email as String, birthday as DateTime, gender as Char)
  User.New()

  Me.Id = Guid.NewGuid()
  Me.DateCreated = this.DateModified = DateTime.Now
  Me.Username = username
  Me.Password = password
  Me.Email = email
  Me.Birthday = birthday
  Me.Gender = gender
End Sub
是否要创建如下所示的新用户:

 Dim u as User = new User()
 Dim u as User = new User("Name", "Password", "Email", etc)
或者像这样:

 Dim u as User = new User()
 Dim u as User = new User("Name", "Password", "Email", etc)

是的,我在帖子中对此进行了评论,但这并不能解决我试图实现的问题,而是像在典型的自定义构造函数中一样,将一些值传递给OnCreated。是的,我在帖子中对此进行了评论,但这并不能解决我试图实现的问题,那就是像在典型的自定义构造函数中一样将一些值传递到OnCreated中。啊,好吧,我没有想到那个用户。New(),我尝试创建自己的构造函数,但当我试图保存该对象时失败了,因为它没有包含自动生成的类所需的默认构造函数提供的很多内容。谢谢我只是想添加一个
User.New()
不起作用,您会得到以下错误:构造函数调用仅在实例构造函数
中的第一条语句时有效。相反,似乎有效的是
Me.New()`对不起,我对VB不是很了解。希望你能很快找到我的.New()。啊,好吧,我没有想到那个用户。New(),我只是尝试创建自己的构造函数,但当我试图保存那个对象时,它失败了,因为它没有包含默认构造函数提供的自动生成类所需的很多内容。谢谢我只是想添加一个
User.New()
不起作用,您会得到以下错误:构造函数调用仅在实例构造函数
中的第一条语句时有效。相反,似乎有效的是
Me.New()`对不起,我对VB不是很了解。希望你能很快找到我。