Im mit aus versuchen, einen Universal-Parsern generischen Typparameter zu machen, aber ich kann das Konzept 100%Allgemeiner Parameter Typ
private bool TryParse<T>(XElement element, string attributeName, out T value) where T : struct
{
if (element.Attribute(attributeName) != null && !string.IsNullOrEmpty(element.Attribute(attributeName).Value))
{
string valueString = element.Attribute(attributeName).Value;
if (typeof(T) == typeof(int))
{
int valueInt;
if (int.TryParse(valueString, out valueInt))
{
value = valueInt;
return true;
}
}
else if (typeof(T) == typeof(bool))
{
bool valueBool;
if (bool.TryParse(valueString, out valueBool))
{
value = valueBool;
return true;
}
}
else
{
value = valueString;
return true;
}
}
return false;
}
nicht begreifen, wie Sie sich vorstellen können, wird der Code nicht kompiliert werden, da Ich kann int | bool | string nicht in T umwandeln (zB value = valueInt). Dankbar für Feedback, ist es vielleicht nicht möglich, dass ich es mache. Mit .NET 3.5
Wow, gute Frage etwas helfen. Heute Abend, wenn ich Zeit habe, darauf zurückzukommen, werde ich jede glaubwürdige Antwort auflisten. –