Я думаю, что это - вполне излишество для семантики словаря, так как словарь, по определению набор ключей и его соответствующих значений, точно так же, как способ, которым мы видим книгу словаря языка, который содержит слово как ключ и его описательное значение как значение.
, Но можно представить словарь, который может содержать набор значений, например:
Dictionary<String,List<Customer>>
Или словарь ключа и значения как словарь:
Dictionary<Customer,Dictionary<Order,OrderDetail>>
Затем у Вас будет словарь, который может иметь несколько значений.
ЕСЛИ вы добавляете конструктор без параметров в свой FooWrapper, а затем вместо этого используете инициализацию объекта, например:
public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
IEnumerable<FooWrapper> results = (
from f in _entities.FooSet
join b in tempBar on f.ID equals b.foos.ID
select new FooWrapper()
{
FooObject = f,
BarObject = b
});
return results;
}
Попробуйте другую инициализацию:
public class FooWrapper
{
public FooWrapper() { }
public Foo FooObject { get; set; }
public Bar BarObject { get; set; }
}
public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
IEnumerable<FooWrapper> results = (
from f in _entities.FooSet
join b in tempBar on f.ID equals b.foos.ID
select new FooWrapper
{
FooObject = f,
BarObject = b
});
return results;
}