Comment puis-je créer des objets temporaires de passer autour, sans explicitement la création d'une classe?

Il m'arrive fréquemment d'avoir un besoin de créer une classe comme un conteneur pour certaines données. C'est seulement utilisée brièvement encore, je dois encore créer la classe. Comme ceci:

public class TempObject
{
    public string LoggedInUsername { get; set; }
    public CustomObject SomeCustomObject { get; set; }
    public DateTime LastLoggedIn { get; set; }
}


public void DoSomething()
{
    TempObject temp = new TempObject
    {
        LoggedInUsername = "test",
        SomeCustomObject = //blah blah blah,
        LastLoggedIn = DateTime.Now
    };
    DoSomethingElse(temp);
}

public void DoSomethingElse(TempObject temp)
{
    //etc...
}

Habituellement mes objets temporaires ont beaucoup plus de propriétés, qui est la raison pour laquelle je tiens à les regrouper en premier lieu. Je souhaite qu'il y avait un moyen plus facile, comme avec un type anonyme. Le problème est, je ne sais pas ce qu'il faut accepter quand je le passe à une autre méthode. Le type est anonyme, alors, comment suis-je censé accepter de l'autre côté?

public void DoSomething()
{
    var temp = new
    {
        LoggedInUsername = "test",
        SomeCustomObject = //blah blah,
        LastLoggedIn = DateTime.Now
    };
    //I have intellisense on the temp object as long as I'm in the scope of this method.
    DoSomethingElse(temp);
}

public void DoSomethingElse(????)
{
    //Can't get my anonymous type here. And even if I could I doubt I would have intellisense.
}

Est-il une meilleure façon de créer un temporaire de conteneurs pour un tas de types différents, ou ai-je besoin de définir des classes à chaque fois que j'ai besoin d'un objet temporaire pour groupe de choses ensemble?

Merci d'avance.

Il y a bibliothèque open source pour faire vérifier this et this la poste. espoir aide à quelqu'un.

OriginalL'auteur Chev | 2011-08-10