У вас есть некоторые программные проблемы, а не циклический просмотр списка продуктов.Вы должны понимать разницу между статическими и нестатическими типами.Статические методы принадлежат самому классу.Так что, когда вы пишете static перед объявлением, говорите, что эта переменная или метод для класса, а не для экземпляров.
Другая проблема с вашим кодом была, очевидно, для цикла.Вам следует перебирать тип Product, а не object, поскольку объект не имеет тех же членов, что и Product.
namespace Test
{
class Product
{
static private List<Product> Products;
private int id;
private string name;
private double currency;
public Product(int id, string name, double currency)
{
this.id = id;
this.name = name;
this.currency = currency;
}
public static void AddProduct(Product product)
{
if (Products == null)
{
Products = new List<Product>();
}
Products.Add(product);
}
public static void GetListOfProducts()
{
foreach (Product product in Products)
{
Console.WriteLine(String.Format("id:{0} name:{1} currency:{2}", product.id, product.name, product.currency));
}
}
}
class Program
{
static void Main(string[] args)
{
Product p = new Product(1, "TID", 13.2);
Product.AddProduct(p);
Product.GetListOfProducts();
}
}
}