przyjrzeć tym przykładzie kodu:Czy można wywoływać właściwości wirtualne z konstruktora jednostki NHibernate?
public class Comment
{
private Comment()
{ }
public Comment(string text, DateTime creationDate, string authorEmail)
{
Text = text;
CreationDate = creationDate;
AuthorEmail = authorEmail;
}
public virtual string Text { get; private set; }
public virtual DateTime CreationDate { get; set; }
public virtual string AuthorEmail { get; private set; }
}
wiem, że jest uważany złą praktyką wywołać funkcje członków wirtualnych z konstruktora, jednak w NHibernate muszę właściwości jako wirtualny wspierać leniwy załadunku. Czy w tym przypadku jest to uważane za OK?
Myślę, że kwestia zasługuje na więcej Uwaga i chciałbym dodać ten odnośnik: http://stackoverflow.com/search?q=nhibernate+virtual+constructor Myślę, że dodanie metody Initialize() lub konstruktora less mniejszego parametru zmienia projekt w celu dostosowania do ramy prawne - co według mnie jest złą praktyką; może chcesz, aby twój obiekt był cały czas ważny (myślę, że powinieneś) ... Inicjowanie() metod/konstruktorów mniejszych parametrów pozwala konstruować obiekty bez ich potrzeby. – W3Max