Betrachten Sie dieses kleine Beispiel:Kürzere Version durch eine Instanz einer Basisklasse zu einem Mitglied einer abgeleiteten Klasse zuweisen
public class BaseClass { }
public class DerivedClass : BaseClass { public int Field; }
public static class Program
{
public static void Main(string[] args)
{
BaseClass baseVar = new DerivedClass();
if(baseVar is DerivedClass)
{
var derivedVar = (DerivedClass)baseVar;
derivedVar.Field = 1;
baseVar = derivedVar;
}
}
}
Ich habe eine Menge Code wie dies in if-Bedingungen. Gibt es eine Kurzversion davon, so dass ich keine temporäre abgeleitete Variable erstellen muss?
Beachten Sie, dass diese Art von Code als Code-Geruch bezeichnet wird. Versuchen Sie, eine gemeinsame Schnittstelle oder Basisklasse zu finden, um allgemeine Klassen zu kombinieren und versuchen Sie, diese Schnittstelle zu verwenden. Es ist weniger fehleranfällig und verringert den Wartungsaufwand. – ckruczek