Jest możliwe w C# do decydowania w konstruktorze, który inny nadpisać konstruktora użyć? Poniższy kod nie kompiluje się! Nie wiem, jakie użycie wywołania.Czy konstruktor może zawierać logikę, która określa, do których innych nadpisań konstruktora należy wywoływać?
public IntRange(int val, bool isMax)
: isMax ? this() : this()
{
if (isMax)
{
IntRange(0, val);
}
else
{
IntRange(val, int.MaxValue);
}
}
Nie, po prostu wyodrębnij wspólną logikę do prywatnych metod i wywołaj je w konstruktorze w zależności od wartości 'isMax'. – vcsjones
Wydaje się, że lepiej byłoby podjąć tę decyzję przed wywołaniem _any_ konstruktora. – DonBoitnott
Nie w języku C#. Myślę, że można to legalnie zrobić w IL. –