通常情況下,如果我使用開關在C#中枚舉,我不得不寫類似的東西:是有一個警告(錯誤),類似於C4061爲C#
switch (e)
{
case E.Value1:
//...
break;
case E.Value2:
//...
break;
//...
default:
throw new NotImplementedException("...");
}
在C++(用於VS)我可以爲該開關啓用警告C4061和C4062,使其發生錯誤並進行編譯時檢查。在C#中,我必須將此檢查移到運行時...
有誰知道如何在C#我可以在編譯時檢查此問題嗎?也許有警告,默認禁用,我錯過了,或者其他方式?
請解釋對於那些不熟悉C++ Cxyz的警告的警告。 –
它們在msdn中有很好的解釋。簡而言之,在C++代碼中,如果啓用它們,可以使用「switch」進行枚舉,並忘記處理某些枚舉值(在單獨的「case」中)在編譯 – Alek86