I have seen people use the virtual keyword for property like this:
public class Client
{
public virtual int? Id { get; set; }
public virtual string Name { get; set; }
public virtual string Lastname { get; set; }
public virtual int? Age { get; set; }
public virtual ISet<Login> Logins { get; set; }
}
All we know when we declare anything as virtual is that in a derived class we can override it, but could there also be another reason for using this keyword on a property?.
If you could explain it with an example it might clear things up.