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?