1

我正在尝试开发一个 Windows 窗体应用程序,用户将在其中设置未知数量的“子类别”。如何自动命名这些新实例。

万一这有帮助,这就是我想要的

private class Category
{
    int numberOfCategories = 0;

    Category(int categoryNumber)
    {
        numberOfCategories = categoryNumber;

        for (int i = 0; i <= numberOfCategories; ++i)
        {
            SubCategory *automateThis* = new SubCategory();
        }
    }
}
private class SubCategory
{

谢谢你。

4

3 回答 3

4

你为什么要给他们起名字?这将产生另一个问题——你将如何访问它们?更好的方法是创建集合List<SubCategory>,在这种情况下,您不必担心命名对象。

如果您想删除子类别 - 您可以考虑使用字典,其中字符串可能是子类别的唯一标识符。

于 2012-08-09T21:43:42.243 回答
0

制作一个list<>对象SubCategory并使用i来增加。

于 2012-08-09T21:42:58.187 回答
0

一种解决方案

private List<SubCategory> _subCategories = new List<SubCategory>();
private class Category
{
    int numberOfCategories = 0;

    Category(int categoryNumber)
    {
        numberOfCategories = categoryNumber;

        for (int i = 0; i <= numberOfCategories; ++i)
        {
           _subCategories.Add(new SubCategory());   
        }
    }
}

或者您可以使用数组或其他聚合如果您想要名称,请使用字典。不过叫什么名字?

发表评论后

什么时候?在创建它们之前你知道吗?您是从文件还是数据库中加载它们?

为什么除了具有 Name 属性的 SubCategory 之外,您还需要其他东西?

于 2012-08-09T21:51:54.943 回答