Click here to Skip to main content
15,897,273 members
Home / Discussions / C#
   

C#

 
Questionextending an Enum in code outside the Enum : C# language feature Pin
BillWoodruff12-Dec-14 22:19
professionalBillWoodruff12-Dec-14 22:19 
AnswerRe: extending an Enum in code outside the Enum : C# language feature Pin
OriginalGriff12-Dec-14 23:08
mveOriginalGriff12-Dec-14 23:08 
Well...it works because an enum is a "decorated" integer, and the value of an enum variable doesn't have to be restricted to just the named values:
C#
public enum CookPasta { BoilWater = 1, AddPasta = 2, Stir = 4, Strain = 8, Done = 16}
public const CookPasta AddOil = (CookPasta)(-1);

public void Next(CookPasta state)
    {
    switch (state)
        {
        case CookPasta.BoilWater:
            break;
        case AddOil:
            break;
        case CookPasta.AddPasta | CookPasta.Strain:
            break;
        case (CookPasta) 12:
            break;
        }
    }
Will compile and work just as well.

As for a use case, yes: Combined bitfields.
C#
public const CookPasta Initialize = (CookPasta) 3;
Though I'd rather see it as
C#
public const CookPasta Initialize = CookPasta.BoilWater | CookPasta.AddPasta;

Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

GeneralRe: extending an Enum in code outside the Enum : C# language feature Pin
BillWoodruff12-Dec-14 23:53
professionalBillWoodruff12-Dec-14 23:53 
GeneralRe: extending an Enum in code outside the Enum : C# language feature Pin
OriginalGriff13-Dec-14 0:36
mveOriginalGriff13-Dec-14 0:36 
GeneralRe: extending an Enum in code outside the Enum : C# language feature Pin
BillWoodruff13-Dec-14 0:59
professionalBillWoodruff13-Dec-14 0:59 
Questionthread Safe Pin
Member 1082714012-Dec-14 20:56
Member 1082714012-Dec-14 20:56 
AnswerRe: thread Safe Pin
Richard MacCutchan12-Dec-14 22:08
mveRichard MacCutchan12-Dec-14 22:08 
QuestionWindows form controls reposition when DPI changes Pin
robwm112-Dec-14 11:42
robwm112-Dec-14 11:42 
AnswerRe: Windows form controls reposition when DPI changes Pin
Eddy Vluggen12-Dec-14 14:06
professionalEddy Vluggen12-Dec-14 14:06 
GeneralRe: Windows form controls reposition when DPI changes Pin
robwm115-Dec-14 7:56
robwm115-Dec-14 7:56 
GeneralRe: Windows form controls reposition when DPI changes Pin
Eddy Vluggen16-Dec-14 0:28
professionalEddy Vluggen16-Dec-14 0:28 
GeneralRe: Windows form controls reposition when DPI changes Pin
robwm116-Dec-14 5:42
robwm116-Dec-14 5:42 
GeneralRe: Windows form controls reposition when DPI changes Pin
Eddy Vluggen16-Dec-14 5:58
professionalEddy Vluggen16-Dec-14 5:58 
GeneralRe: Windows form controls reposition when DPI changes Pin
robwm116-Dec-14 6:59
robwm116-Dec-14 6:59 
GeneralRe: Windows form controls reposition when DPI changes Pin
Eddy Vluggen16-Dec-14 7:33
professionalEddy Vluggen16-Dec-14 7:33 
GeneralRe: Windows form controls reposition when DPI changes Pin
robwm116-Dec-14 7:39
robwm116-Dec-14 7:39 
GeneralRe: Windows form controls reposition when DPI changes Pin
robwm116-Dec-14 11:46
robwm116-Dec-14 11:46 
GeneralRe: Windows form controls reposition when DPI changes Pin
Eddy Vluggen17-Dec-14 0:27
professionalEddy Vluggen17-Dec-14 0:27 
QuestionBitmap Dispose Pin
V.12-Dec-14 2:26
professionalV.12-Dec-14 2:26 
AnswerRe: Bitmap Dispose Pin
Marc Clifton12-Dec-14 3:11
mvaMarc Clifton12-Dec-14 3:11 
AnswerRe: Bitmap Dispose Pin
OriginalGriff12-Dec-14 3:55
mveOriginalGriff12-Dec-14 3:55 
AnswerRe: Bitmap Dispose Pin
Richard Andrew x6412-Dec-14 7:20
professionalRichard Andrew x6412-Dec-14 7:20 
GeneralRe: Bitmap Dispose Pin
OriginalGriff12-Dec-14 8:14
mveOriginalGriff12-Dec-14 8:14 
GeneralRe: Bitmap Dispose Pin
Richard Andrew x6412-Dec-14 8:16
professionalRichard Andrew x6412-Dec-14 8:16 
QuestionRe: Bitmap Dispose Pin
Richard Andrew x6412-Dec-14 8:31
professionalRichard Andrew x6412-Dec-14 8:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.