C# 您可以在运行时创建具有不同名称的新类吗?
当我运行我的代码时,这个方法会被激发,它会创建类C# 您可以在运行时创建具有不同名称的新类吗?,c#,wpf,class,mvvm,instance,C#,Wpf,Class,Mvvm,Instance,当我运行我的代码时,这个方法会被激发,它会创建类NewClothesClass1的一个新实例。此方法可以在运行时多次触发,从而创建多个不同的实例 当他们再次单击该类实例时,是否有任何方法可以更改该类实例的名称,以便它将创建一个新实例,这样我就可以返回到NewClothClass的另一个实例,并在以后添加一些内容?否,变量的名称是临时的,同一实例在任何时候都可以有多个名称 您需要做的是在构造函数中为您的NewClothesClass实例提供一个名称,稍后您可以查询该名称。例如: publi
NewClothesClass1
的一个新实例。此方法可以在运行时多次触发,从而创建多个不同的实例
当他们再次单击该类实例时,是否有任何方法可以更改该类实例的名称,以便它将创建一个新实例,这样我就可以返回到
NewClothClass的另一个实例,并在以后添加一些内容?否,变量的名称是临时的,同一实例在任何时候都可以有多个名称
您需要做的是在构造函数中为您的NewClothesClass
实例提供一个名称,稍后您可以查询该名称。例如:
public void AddClothesCollection()
{
NewClothesClass newClothesClass1 = new NewClothesClass(newClothes,"");
Collections.Add(newClothesClass);
}
另外,不要将单词Class放在类的名称中 否,它将创建一个新的NewClothesClass
实例。您当前似乎混淆了对象、变量和类。。。不幸的是,这很难帮助您。@JonSkeet因此,如果已经创建了其他类,则无法检索该类的实例?您可以将其存储在地图中,例如字典
-但重要的是要理解对象本身没有名称。@JonSkeet非常感谢,我要看看词典
。你有什么可以提供的示例代码吗?网络上的文档中有很多示例。我建议你读一本书,书中有一章描述了各种.NET集合,这样你就可以得到比单个类更广泛的概述。现在我完全搞糊涂了,我一直认为当你做=NewClothesClass()
时,它创建了该类的一个新实例?@Ben-它创建了,但在你的问题中,你问的是关于更改一个类的名称“类实例“这是一个物体。对象没有永久名称,因此您必须向类中添加一些命名逻辑,以便按名称搜索。好的,谢谢,我明白了,我必须四处寻找,您有什么建议吗?@Ben-是的,让您的类为每个实例存储一个名称,然后在需要查找内容时在集合中搜索此名称。我可以使用新名称创建实例并将它们添加到集合中,但在运行时如何执行此操作?
NewClothesClass x = new NewClothesClass(newClothes,"shirt")
NewClothesClass y = new NewClothesClass(newClothes,"trousers")
Collections.Add(x);
Collections.Add(y);