我需要使用.NET 3.5,但是我想使用TryParse方法,我知道这个方法属于.NET 4.0。然后我在网上搜索了相关主题,我认为我在[Simon Mourier的答案](https://dev59.com/hHNA5IYBdhLWcg3wH6EW#6161718)中找到了最佳解决方案!所以我创建了一个如下的自己的类。
然后我尝试在一个新项目中使用该类,如下所示。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
namespace MyClasses
{
public class MyEnum
{
// here goes all of Simons's code
}
}
然后我尝试在一个新项目中使用该类,如下所示。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyClasses;
namespace MyEnumerations
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Type in a name: ");
string userValue = Console.ReadLine();
MyEnumeration myValue;
if (MyEnum.EnumTryParse(myValue,userValue, out myValue))
{
switch (myValue)
{
case MyEnumeration.Elem1:
Console.WriteLine("Elem1 caught!");
break;
case MyEnumeration.Elem2:
Console.WriteLine("Elem2 caught");
break;
case MyEnumeration.Elem3:
Console.WriteLine("Elem3 caught");
break;
default:
Console.WriteLine("Does not compute");
break;
}
}
Console.ReadLine();
}
}
enum MyEnumeration
{
Elem1,
Elem2,
Elem3
}
}
但我无法获得使用“EnumTryParse”方法的正确语法:特别是似乎我无法正确传递第一个参数,该参数必须为“Type type”。
事实上,我是C#的新手,我肯定知道我必须缺少某些东西,这将使我在获得正确的语法后头痛不已。 但现在我被卡住了。
感谢任何可能的帮助
myValue
的类型不正确;它需要是object
类型才能使用该方法。还有其他选择-您可能想查看我的Unconstrained Melody项目:https://www.nuget.org/packages/UnconstrainedMelody/ - Jon Skeet