Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: javierx0246 en 04 de Diciembre 2022, 15:30
-
Hola tengo que hacer un ejercicio sobre Flags de enumeracion y aun no lo entiendo del todo
Ejercicio:
Crea una aplicación para gestionar la personalización de coches en un determinado taller.
Tendrás que utilizar Enumeraciones NO excluyentes, debes definir la enumeración con un mínimo de 7 colores (incluido el None).
La aplicación permitirá añadir un color o más a la elección, eliminar un color de los que ya se habían elegido y mostrar los colores elegidos.
El programa comenzará mostrando un menú, con las tres opciónes y la que nos permita salir.
Mi codigo
using System.Text;
internal class Program
{
[Flags]
public enum Color
{
None = 0b_0000_0000, //0
Amarillo = 0b_0000_0001, //1
Rojo = 0b_0000_0010,//2
Verde = 0b_0000_0100,//4
Violeta =0b_0000_1000 , //6
Naranja =0b_0001_0000, //8
Negro = 0b_0010_0000, //16
}
public static Object LeerEnum(Type tipo, string texto, string textoError)
{
string pregunta = "";
bool error = false;
foreach (string obj in Enum.GetNames(tipo))
{
Console.WriteLine($"{obj}");
}
do
{
Console.WriteLine("Introduce un elemento");
pregunta = Console.ReadLine();
if (Enum.IsDefined(tipo, pregunta))
{
Console.WriteLine(texto);
error = true;
return Enum.Parse(tipo, pregunta);
}
else
{
Console.WriteLine(textoError);
foreach (string a in Enum.GetNames(tipo))
{
Console.WriteLine($" Los valores correctos son : {a}");
}
error = false;
}
} while (error == false);
return null;
}
public static Color AñadeColor()
{
}
private static void Main(string[] args)
{
Color b = (Color)LeerEnum(typeof(Color), "Se ha cogido correctamente", "Error");
Console.ReadLine();
}
}
Gracias