簡體   English   中英

在 c# 中保存類的多個對象的集合

[英]Collection to hold multiple objects of classes in c#

所以我的問題是什么是對從數據庫收集的項目組進行分類的最佳方法?

這是我到目前為止所擁有的

enum IdOfCategory
{
    Fruits = 1,
    Bakery = 2,
}

public class Categories
{
    public Collection categories = new Collection();

    public Categories()
    {
        categories.Add(new Fruits());
        categories.Add(new Bakery());
    }
}

 public class Fruits
{
    string query = $"SELECT * FROM Products WHERE CategoryId = {(int)IdOfCategory.Bakery}";
        using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\user\Documents\mario.mdf;Integrated Security=True;Connect Timeout=30"))
        {
            SqlCommand command = new SqlCommand(query, connection);
            connection.Open();
            using (SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                    //Adding items to collection
            }
        }
}

 public class Bakery
{
    //the same as above class
}

我的表包含以下列 ProductId、ProductName、ProductDescription、CategoryId

例如,您可以使用接口:

public interface IFood
{
    // has some properties, fields, methods, etc.
}

public class Fruits : IFood
{
    // implements properties, fields, methods, etc from interface
}

public class Bakery : IFood
{
    // implements properties, fields, methods, etc from interface
}

然后:

public class Categories
{
    public IEnumerable<IFood> CategoriesList;

    public Categories()
    {
        CategoriesList = new List<IFood> { new Fruits(), new Bakery() };
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM