3

私は次の列挙型を持っています:

public enum PageIdsOptions
    {
        PageID_News = 1,
        PageID_Signup = 2,
        PageID_AffiliateSignup = 3,
        PageID_Cashier = 4,
        PageID_Promotions = 5
    }

および次のプロパティ:

public PageIdsOptions Hint { get; set; }

この値の文字列を受け取りました:

string hintValue = "PageID_Signup";

そして、hintValueの値をプロパティHintに割り当てたいと思います。

Hint = hintValue;

ヒントが等しくなるように

Hint = PageIdsOptions.PageID_Signup;

これはどのように行うことができますか?どんな助けでも大歓迎です!ありがとう!

4

3 に答える 3

4

Enum.Parseメソッドを使用します(hintValueに無効な値が含まれている場合、これにより例外がスローされます)

Hint = (PageIdsOptions) Enum.Parse(typeof(PageIdsOptions), hintValue);

Enum.TryParseを使用することもできます(これにより、解析が成功したかどうかにかかわらずブール値が返されますが、例外はスローされません)

PageIdsOptions Hint;

 if (Enum.TryParse(hintValue, out Hint))
    {
         //Parsed successfully
     }
 else
     {
        // Parsing failed
     }
于 2012-07-19T09:57:11.657 に答える
2
try
{
    var value = Enum.Parse(typeof(PageIdsOptions), hintValue);
}
catch(ArgumentException e)
{
   //todo
}
于 2012-07-19T09:59:46.843 に答える
0

どうですか

if (!Enum.TryParse(hintValue, out Hint))
{
    // throw an exception because hintValue did not parse.
}
于 2012-07-19T10:04:02.860 に答える