Tengo la siguiente lista de objetos de diapositiva. En función del valor de var del tipo "tipo" del objeto, quiero subir el objeto Slide en la lista. ¿Es posible?C# Cómo abatir un objeto
foreach(Slide slide in slidePack.slides)
{
if(slide.type == SlideType.SECTION_MARKER)
{
//upcast Slide to Section
}
}
Section
extiende Slide
y añade un parámetro más.
Suena como un abatido para mí. De todos modos, es peligroso (o un defecto de diseño) hacer esto. Al bajar a un tipo más especializado, espera más del objeto de lo que puede manejar. Si sientes la necesidad de abatir, considera usar interfaces. –
Acordé que las interfaces pueden ser útiles en algunas de estas situaciones, pero no creo que debamos decir "nunca abatido". No siempre es un defecto de diseño, ni es necesariamente peligroso. – Allan