Hej mam taki problem dlaczego w klasie dziedziczącej po User nie mam dostępu do konstruktora, który posiada modyfikator "Protected" ?
0
0
Klasa user nie ma modyfikatora więc jest z domysłu "internal". Zgaduję że klasa dziedzicząca nie jest w tym samym module więc nie ma dostępu. Zmień modyfikator albo dodaj "internals visible to"
0
No tak działa konstruktor protected. Tylko wywołanie z poziomu klasy lub z wykorzystaniem base w klasie dziedziczącej.
Możesz zrobić w klasie user metode statyczną która zwróci instancje klasy wołając konstruktor z protected z parametrami
class User
{
protected User(int id)
{
}
protected static User Create(int id) => new User(id);
}
class Volatile : User
{
public Volatile():base(1)
{
}
public User CreateStableUser()
{
var user = User.Create(1);
return user;
}
}