Играть! Фреймворк версии 1.2.x также имеет поддержку продолжений , интегрированную с асинхронными http вкусностями.
Обратите внимание, что Продолжения Play 1.2.x работают только со встроенным сервером Netty .
baseKey choice;
if (Enum.TryParse("HKEY_LOCAL_MACHINE", out choice)) {
uint value = (uint)choice;
// `value` is what you're looking for
} else { /* error: the string was not an enum member */ }
До .NET 4.5 вам приходилось делать следующее, что более подвержено ошибкам и выдает исключение при передаче недопустимой строки:
(uint)Enum.Parse(typeof(baseKey), "HKEY_LOCAL_MACHINE")
var value = (uint) Enum.Parse(typeof(baseKey), "HKEY_LOCAL_MACHINE");
С некоторой обработкой ошибок ...
uint key = 0;
string s = "HKEY_LOCAL_MACHINE";
try
{
key = (uint)Enum.Parse(typeof(baseKey), s);
}
catch(ArgumentException)
{
//unknown string or s is null
}