Ich habe die folgende Liste von Objektträgern. Basierend auf dem Wert des "type" var des Objekts möchte ich das Slide-Objekt in der Liste aktualisieren. Ist es möglich?C# Wie man ein Objekt niederdrückt
foreach(Slide slide in slidePack.slides)
{
if(slide.type == SlideType.SECTION_MARKER)
{
//upcast Slide to Section
}
}
Section
Slide
erstreckt und fügt einen weiteren Parameter.
Klingt wie ein Niedergeschlagener für mich. Wie auch immer, es ist gefährlich (oder ein Designfehler), dies zu tun. Wenn Sie in einen spezielleren Typ umwandeln, erwarten Sie mehr von dem Objekt, als es möglicherweise verarbeiten kann. Wenn Sie das Gefühl haben, heruntergestuft zu werden, sollten Sie die Verwendung von Schnittstellen in Erwägung ziehen. –
Vereinbart, dass Schnittstellen in einigen dieser Situationen nützlich sein können, aber ich denke nicht, dass wir "niemals niedergeschlagen" sagen sollten. Es ist nicht immer ein Konstruktionsfehler, noch ist es notwendigerweise gefährlich. – Allan