2
在下面的代碼中,我只是將一個字符串(例如「medium」)轉換爲Enum值。我需要做的是將Opacity作爲一個固定的Enum類型,而不是將其作爲參數傳遞,以便該函數對任何Enum進行操作。這似乎比我預期的更難,即「Enum MyEnum」不起作用。解決任何人?如何傳遞Enum作爲參數?
public enum Opacity
{
Low,
Medium,
High
}
public static Enum StringToEnum(String str)
{
return (Opacity)Enum.Parse(typeof(Opacity), str, true); // Case insensitive
}
YetAnotherUser提供了正確的答案,你問的問題,但什麼是包裝'Enum.Parse'點? StringToEnum方法不會添加新的值,只會改變您調用的方法的名稱。 – Mike
@Mike你對這裏只是一個名稱的改變 - 雖然可以增強這個添加多個驗證,支持_string names_在屬性中定義,實現它作爲擴展方法來簡單地說 - 「SomeArbidObject.StringRepresentingOpacity.StringToEnum'等等。基本上,如果你想要,你可以使它更有用。 –
YetAnotherUser