Ist die Verwendung von .NET 4.0-Tupeln in meinem C # -Code eine schlechte Entwurfsentscheidung?

it der Hinzufügung des Tuple class in .net 4 habe ich versucht zu entscheiden, ob die Verwendung in meinem Design eine schlechte Wahl ist oder nicht. So wie ich es sehe, ein Tuple kann eine Abkürzung zum Schreiben einer Ergebnisklasse sein (ich bin mir sicher, dass es auch andere Verwendungen gibt).

Also das

public class ResultType
{
    public string StringValue { get; set; }
    public int IntValue { get; set; }
}

public ResultType GetAClassedValue()
{
    //..Do Some Stuff
    ResultType result = new ResultType { StringValue = "A String", IntValue = 2 };
    return result;
}

Ist dem äquivalent:

public Tuple<string, int> GetATupledValue()
{
    //...Do Some stuff
    Tuple<string, int> result = new Tuple<string, int>("A String", 2);
    return result;
}

So abgesehen von der Möglichkeit, dass ich den Punkt der Tupel verpasse, ist das Beispiel mit einem Tuple eine schlechte Designwahl? Für mich wirkt es weniger aufgeräumt, aber nicht so selbstdokumentierend und aufgeräumt. Das heißt, dass mit dem TypResultType, es ist später sehr klar, was jeder Teil der Klasse bedeutet, aber Sie müssen zusätzlichen Code pflegen. Mit demTuple<string, int> Sie müssen nachschlagen und herausfinden, was jedesItem steht für, aber Sie schreiben und verwalten weniger Code.

Jede Erfahrung, die Sie mit dieser Wahl gemacht haben, wäre sehr dankbar.

Antworten auf die Frage(26)

Ihre Antwort auf die Frage