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