Ich muss mit .NET 3.5 arbeiten, möchte aber die TryParse-Methode verwenden, von der ich weiß, dass sie zu .NET 4.0 gehört. Dann suchte ich im Internet nach dem Thema und ich denke, ich fand die beste Lösung in [Simon Mouriers Antwort] (https://stackoverflow.com/a/6161718/1043198)!Wie TryParse für Enum-Wert in NET 3.5?
Also habe ich eine Klasse von meinem eigenen wie folgt
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
}
}
dann habe ich versucht, diese Klasse in einem neuen Projekt zu verwenden, wie folgt
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
}
}
aber ich kann nicht die richtige sintax bekommen für die Verwendung der "EnumTryParse" -Methode: Insbesondere scheint es, dass ich den ersten Parameter, der "Type type" sein muss, nicht korrekt übergeben kann.
Wie es herauskommt, bin ich ein totaler Neuling von C# und ich weiß sicher, dass ich etwas vermissen muss, das mich meinen Kopf schlagen lässt, sobald ich das richtige sintax bekommen werde. aber jetzt bin ich dran.
danken Ihnen für jede mögliche Hilfe
, die eine meiner tria war und Fehler – user3598756
aber es gab mir zwei Fehler: 1) die besten überladene Methode Match für ‚ChojwaClasses.MyEnum.EnumTryParse (System.Type, Schnur, out object) 'hat ein ungültiges Argument s \t 2) Argument 3: kann nicht von 'out MyEnumerations.MyEnumeration' zu 'out object' konvertieren – user3598756
@ user3598756: Richtig, das sagt dir, dass der Typ von 'myValue' falsch ist; Es muss vom Typ "Objekt" sein, um diese Methode zu verwenden. Es gibt Alternativen - vielleicht möchtest du dir mein Unconstrained Melody-Projekt ansehen: https://www.nuget.org/packages/UnconstrainedMelody/ –