ここでこの質問を読みました:
LINQtoSQL によって生成されたクラスで空のコンストラクターをオーバーライドする方法はありますか?
通常、私のコンストラクターは次のようになります。
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;
}
ただし、その質問で読んだように、代わりに部分メソッド 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;
}
ただし、これにより2つのエラーが発生します。
Partial Methods must be declared private.
Partial Methods must have empty method bodies.
Private Sub OnCreated()
さて、これらのエラーの両方を削除するために変更します。しかし、私はまだ立ち往生しています...通常のカスタムコンストラクターと同じように値を渡すにはどうすればよいですか? また、私はVBでこれを行っています(C#を最もよく知っている/好むので変換しました)ので、これに影響がありますか?