Unión discriminada en C #

[Nota: Esta pregunta tenía el título original " Unión de estilo C (ish) en C # ", pero como me informó el comentario de Jeff, aparentemente esta estructura se llama 'unión discriminada'] Disculpe la verbosidad de esta pregunta. Hay un par de preguntas que suenan similares a las mías ya en SO,...