using System;
public class Test
{
public static void Main()
{
Console.WriteLine(ToEnum<int>("2323"));
Console.WriteLine(ToEnum<DateTime>("10/10/10"));
Console.WriteLine(ToEnum<float>("10,656"));
}
public static TEnum ToEnum<TEnum>(String s) where TEnum : struct
{
return (TEnum)(typeof(TEnum)).GetMethod("Parse", new [] { typeof(string) }).Invoke(null, new object[] { s });
}
}
dXNpbmcgU3lzdGVtOwoKICAgIHB1YmxpYyBjbGFzcyBUZXN0CiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoVG9FbnVtPGludD4oIjIzMjMiKSk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKFRvRW51bTxEYXRlVGltZT4oIjEwLzEwLzEwIikpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShUb0VudW08ZmxvYXQ+KCIxMCw2NTYiKSk7CiAgICAgICAgfQogICAgICAgIHB1YmxpYyBzdGF0aWMgVEVudW0gVG9FbnVtPFRFbnVtPihTdHJpbmcgcykgd2hlcmUgVEVudW0gOiBzdHJ1Y3QKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAoVEVudW0pKHR5cGVvZihURW51bSkpLkdldE1ldGhvZCgiUGFyc2UiLCBuZXcgW10geyB0eXBlb2Yoc3RyaW5nKSB9KS5JbnZva2UobnVsbCwgbmV3IG9iamVjdFtdIHsgcyB9KTsKICAgICAgICB9CiAgICB9