On Saturday, September 29, 2012 03:55:48 Tommi wrote:
> enum MyFruit { apple, orange, banana }
>
> MyFruit fruit;
>
> switch (fruit)
> {
> case apple: break; // Case expressions know what type to
> case orange: break; // expect based on the switch expression
> case banana: break;
> }
This could be achieved by simply making it so that when a variable of an enum
type is used in a switch statement, the cases permit you to omit the enum's
type when referring to the enum values. None of the name inferrence stuff that
you're suggesting would be required for that. Though at the moment, I believe
that you could simply use with to solve the problem:
with(MyFruit)
{
switch(fruit)
{
case apple: break;
case orange: break;
case banana: break;
}
}
All that would be required to do it without the with would be to make it so
that the compiler implicitly added the with when an enum type is used in the
switch.
- Jonathan M Davis