Jestem czymś nowym w Generics i nie mogę zrozumieć, dlaczego poniższe nie działają.C# Generics, co robię źle?
Mam rozszerzenie IEnumerable<T>
, zwana siatka i wygląda tak
public static class IEnumberableGridExtension
{
public static HelperResult Grid<T>(this IEnumerable<T> gridItems, Action<GridView<T>> thegrid)
{
........
}
}
Say mam zmienną w moim brzytwa model o nazwie „Produkty” i jest to rodzaj List<Product>
, więc starałem się zrobić
@Model.Products.Grid<Product>(grid=>{
...
});
stwierdza on „nie można przekonwertować grupy metody„siatki”do typu non-delegata«przedmiot». Czy zamierzają wywołać metodę?”, Z«@ Model.tasks.Grid»czerwony podkreślone.
Najśmieszniejsze jest to, visual studio kompiluje, wszystko jest w porządku. Oczywiście, jeśli po prostu zrobić
@Model.Products.Grid(grid=>{
...
});
To wszystko jest w porządku
Stwierdziłaś, że jest to lista rodzaju ogólnego "Produkty". Czy to była literówka? Jeśli nie, musisz zmienić pierwszą linię na '@Model.Products.Grid (... ' –
John
Niestety John.To singular 'Product'. Naprawię go w poście – Liming
Co stanie się, jeśli przekażesz null dla akcji? –