Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Referring to enums
Message
From
31/01/2011 07:03:17
 
 
To
28/01/2011 17:56:23
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Miscellaneous
Thread ID:
01497627
Message ID:
01497921
Views:
38
Thanks Bonnie,

that did the trick.

>You could use this:
>
>
if (this.cboStatus.SelectedValue == ((int)Policy.StatusCode.DeathNotice).ToString())
>
>~~Bonnie
>
>
>
>>I think I made a wrong assumption using these enums.
>>
>>I now want to compare the selectedvalue of a drop down list with the value of the enum. How do I do that?
>>
>>My code used to be like this:
>>
>>
if (this.cboStatus.SelectedValue == "7")
>>
>>and that worked, but I don't like magic numbers so wanted to code it like this:
>>
>>
if (this.cboStatus.SelectedValue == Policy.StatusCode.DeathNotice.ToString())
>>
>>thinking that Policy.StatusCode.DeathNotice.ToString() would bring back "7", but it doesn't, it returns "DeathNotice"!
>>
>>>>On another note, just an FYI: it's not necessary to provide a number for your Enums (Pending = 1), they will default to numbers in the order you've written, starting at 0. If you want yours to start at 1, as you've shown below, or if you need a different numbering scheme for some reason, then you would have to explicitly define them as you did.
>>>
>>>Strictly speaking it would only be neccessary to define the value for the first item, the rest will still increment. You can also skip as below ( and save 24bits by using a byte):
enum StatusCode : byte
>>>    {
>>>        Pending = 1,
>>>        InForce,
>>>        Withdrawn,
>>>        Postponed,
>>>        Deferred,
>>>        Cancelled =100,
>>>        Claimed,
>>>        Matured,
>>>        Lapsed, 
>>>        Surrendered,
>>>        DeathNotice
>>>    }
>>>
>>>
>>>>>Hi,
>>>>>
>>>>>I have an enum defined in a partial class of a Business Object (all my BOs are in one project) like this:
>>>>>
>>>>>
        enum StatusCode
>>>>>        {
>>>>>            Pending = 1,
>>>>>            InForce = 2,
>>>>>            Withdrawn = 3,
>>>>>            Postponed = 4,
>>>>>            Deferred = 5,
>>>>>            Cancelled = 6,
>>>>>            Claimed = 7,
>>>>>            Matured = 8,
>>>>>            Lapsed = 9,
>>>>>            Surrendered = 10,
>>>>>            DeathNotice = 11
>>>>>        }
>>>>>
>>>>>This lets me refer to the enum in code in the partial class no problem, like this:
>>>>>
>>>>>
this.Entity.Status = StatusCode.Pending;
>>>>>
>>>>>However, if I want to use this enum in the interface project (separate to the BO project, but part of the overall solution) I can't as the compiler does not recognise it. Is there some way to make this enum available outside of the BO? Or is this bad design?
Frank.

Frank Cazabon
Samaan Systems Ltd.
www.samaansystems.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform