[英]Extension Method to Add Items to Enum
我正在嘗試編寫一種擴展方法,該方法將向枚舉添加其他項。
我從沒有寫過擴展方法,沒有看過並嘗試過在Stackoverflow和其他Internet站點上找到的幾個示例,但是似乎沒有一個確切地解決我要做的事情。 我正在嘗試擴展Windows.Form.DialogResult類。 我試過下面的代碼:
public static class SaveTestDialog
{
public enum CustomDialog( this DialogResult dialogResult )
{
return ApiKey = 8;
return Default = 9;
}
}
我認為問題可能是因為它是Windows方法,所以我在項目中嘗試了一個簡單的枚舉並得到了相同的結果:
public static class CustomSchedule
{
public enum NewSchedule( Schedule schedule )
{
return Weekly = 3;
return Contract = 4;
}
}
對於DialogResult,我希望在應用程序中使用CustomDialog時能夠獲得DialogResult.ApiKey和DialogResult.Default選項。 感謝您的幫助。
擴展方法將新的類似於實例的方法添加到類型。 它們不允許您將實際成員添加到類型。 您試圖做的事是不可能的。
沒有理由您不能(DialogResult)8
並將其(DialogResult)8
常數。
public static class ExtraDialogResults
{
public const DialogResult ApiKey = (DialogResult)8;
// and so on...
}
但是 ... ...僅僅因為你可以 ,並不意味着你應該 。 更好的方法是定義自己的枚舉,該枚舉具有所需的結果,並將對話框功能包裝在返回該枚舉的內容中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.