Мне часто нужно создать класс в качестве контейнера для некоторых данных. Он используется ненадолго, но мне все еще нужно создать класс. Примерно так:
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...
}
Обычно мои временные объекты имеют намного больше свойств, поэтому я хочу сгруппировать их в первую очередь. Я бы хотел, чтобы был более простой способ, например, с анонимным типом. Проблема в том, что я не знаю, что принимать, когда передаю это другому методу. Тип является анонимным, так как я должен принять его с другой стороны?
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.
}
Есть ли лучший способ создать временный контейнер для группы разных типов, или мне нужно определять классы каждый раз, когда мне нужен временный объект для группировки вещей?
Заранее спасибо.