Da jeg sad og skulle implementere et design, kom der en ide op omkring en variabel der skulle udbydes af en abstrakt klasse, for derefter at blive assignet i den nedarvende klasse.
Under selve implementeringen finder jeg på at gøre variablen readonly, men finder ud a at det ikke kan lade sig gøre.
Jeg troede, at så længe jeg assignede variablen i en konstruktør, var der ingen is på koen. Men der skulle jeg så lære noget nyt 🙂
Eksemplificeret ved følgende blok:
public class Foo
{
protected readonly string setInSubClass;
private readonly string setInBase;
protected Foo()
{
setInBase = "base" ;
}
}
public class Bar : Foo
{
public Bar() : base ()
{
setInSubClass = "subclass" ;
}
}
}
Men visual studio skulle vise sig at kende til en begrænsning jeg ikke kendte (det er ikke første gang). Se screensnip:
Og tilhørende build fejl: