繁体   English   中英

为同一类的实例创建唯一的ID和计数器

[英]Creating unique id and counter for the instances of the same class

我正在创建一个小的软件,可以让您在运行时添加控件。

我所做的是从控件中创建一个派生类,其中包括一个静态整数计数器,该计数器在每次构造该类的实例时都会增加。 这使我可以创建一个命名约定,因此名称永远不会重复。 例如我说

this.Name = "Label"+counter;

当我想将其存储在某种自定义序列中时,就会出现问题。 假设我创建了3个标签: Label0,Label1,Label2 ,然后删除了Label1 这将导致具有Label0和Label2

如果我序列化当前状态,然后加载该数据以重建状态,则标签的创建将导致计数器的值为1,即最后一个标签“ Label2”的名称 这意味着如果现在我要创建另一个标签,将为“ Label(counter + 1)” ,即“ Label2” ,从而导致重复。

我的问题是,创建计数器的最佳方法是这样的命名约定,它会像这样简单并跳过重复的名称?

将计数器与其他控件序列化,然后可以加载现有控件,也可以使用计数器值创建新控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM