Hier ist der Code:Ärger Iterieren Generic Liste mit benutzerdefinierten Objekt
ProductList products = xxx.GetCarProducts(productCount);
List<CarImageList> imageList = new List<CarImageList>();
foreach(Product p in products)
{
string imageTag = HttpUtility.HtmlEncode(string.Format(@"<img src=""{0}"" alt="""">", ImageUrl(p.Image, false)));
imageList.Add(new CarImageList{ImageTag = imageTag});
i++;
}
Unter den Abdeckungen Product wirklich wie folgt definiert ist:
public class ProductList : List<Product>
{
static Random rand = new Random();
public ProductList Shuffle()
{
ProductList list = new ProductList();
list.AddRange(this);
for (int i = 0; i < list.Count; i++)
{
int r = rand.Next(list.Count - 1);
Product swap = list[i];
list[i] = list[r];
list[r] = swap;
}
return list;
}
public Product FindById(int id)
{
foreach (Product p in this)
if (p.Id == id) return p;
return null;
}
public Product GetRandom()
{
int r = rand.Next(this.Count - 1);
return this[r];
}
}
also warum ich den Fehler, wenn ich versuche zu foreach durch die ProductList-Instanz?
Kann den Typ 'xxx.Product' nicht in 'Product' konvertieren, ist der Fehler, den ich bekomme. Aber wenn ProductList wirklich List ist, warum würde es in der Welt ein Problem mit der Konvertierung geben?
Was bedeutet GetCarProducts aussehen? Verwenden Sie LinqToSQL? Wenn dies der Fall ist, kann der Fehler in GetCarProducts auftreten, aber es wird nicht angezeigt, bis Sie versuchen, über die Auflistung zu iterieren. – tvanfosson
GetCarProducts gibt den Typ ProductList zurück. Nein, nicht mit LINQ – PositiveGuy
versuchte dies, aber kein Glück, sagt es nicht ProductList Produkte = GetCarProducts (productCount) konvertieren; Liste prods = Produkte; –
PositiveGuy