Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 您可以在运行时创建具有不同名称的新类吗?_C#_Wpf_Class_Mvvm_Instance - Fatal编程技术网

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);