c# - Create implicit cast for enum value -


i've created own messagebox own enum messageboxbutton :

public enum mymessageboxbutton {     ok = messageboxbutton.ok,     okcancel = messageboxbutton.okcancel,     yesnocancel = messageboxbutton.yesnocancel,     yesno = messageboxbutton.yesno,     nowlatercancel = 5, } 

as can see, it's system.windows.messageboxbutton 1 value more.

for class mymessagebox, have function :

public static messageboxresult show(string caption, string message, mymessageboxbutton button, messageboximage icon) {     ... } 

is there way call show messageboxbutton , implicitly cast value mymessageboxbutton ?

you can create converter method converts messageboxbuttons mymessageboxbutton, create overload of show method takes messageboxbuttons, , in method conversion , call existing show method.

since don't have matching enum values items (like abortretryignore), have decide button combination show if selects 1 of those:

public static mymessageboxbutton converttomymessageboxbutton(messageboxbuttons input) {     mymessageboxbutton result;      switch (input)     {         case messageboxbuttons.ok:             result = mymessageboxbutton.ok;             break;         case messageboxbuttons.okcancel:             result = mymessageboxbutton.okcancel;             break;         case messageboxbuttons.retrycancel:             result = mymessageboxbutton.nowlatercancel;             break;         case messageboxbuttons.yesno:             result = mymessageboxbutton.yesno;             break;         case messageboxbuttons.yesnocancel:             result = mymessageboxbutton.yesnocancel;             break;         default:             // abortretryignore fall through             result = mymessageboxbutton.okcancel;             break;     }      return result; } 

then use convert method in overload of show method, conversion , call original show:

public static messageboxresult show(string caption, string message,      messageboxbuttons button, messageboximage icon) {     return show(caption, message, converttomymessageboxbutton(button), icon); } 

Comments

Popular posts from this blog

javascript - Clear button on addentry page doesn't work -

c# - Selenium Authentication Popup preventing driver close or quit -

tensorflow when input_data MNIST_data , zlib.error: Error -3 while decompressing: invalid block type -