C#私有变量列表

C#私有变量列表,c#,C#,我怀疑这个问题说明了我对C#的幕后活动缺乏了解,但是嘿 在C#中执行一个CRM SDK项目时,涉及许多私有变量(这些变量是称为“列表”的CRM对象,但这并不重要),我发现我在重复几乎相同的代码行。我尝试将私有变量推入一个类型为“list”的数组,然后在该数组上循环,并逐个设置变量。当然,除此之外,这不起作用,因为(我认为)我实际使用的是变量列表的副本 总之,长话短说,有没有办法在循环中设置私有变量的负载?我是否遗漏了一些非常明显的东西,或者我想做的事情实际上不可能?通常,您会创建一个Reset(

我怀疑这个问题说明了我对C#的幕后活动缺乏了解,但是嘿

在C#中执行一个CRM SDK项目时,涉及许多私有变量(这些变量是称为“列表”的CRM对象,但这并不重要),我发现我在重复几乎相同的代码行。我尝试将私有变量推入一个类型为“list”的数组,然后在该数组上循环,并逐个设置变量。当然,除此之外,这不起作用,因为(我认为)我实际使用的是变量列表的副本


总之,长话短说,有没有办法在循环中设置私有变量的负载?我是否遗漏了一些非常明显的东西,或者我想做的事情实际上不可能?

通常,您会创建一个
Reset()
方法,该方法。。。重置对象的成员。

通常,您会创建一个
Reset()
方法来。。。重置对象的成员。

如果使用对象/类,则应引用数组中的值,而不是使用值的副本

你是说像这样的事吗

private List<T> UpdateValues<T>(T[] values)
{
   List<T> list = new List<T>();
   foreach(T t in values)
   {
      list.Add(t);
   }
   return list;
}
私有列表更新值(T[]值)
{
列表=新列表();
foreach(T值)
{
列表。添加(t);
}
退货清单;
}

然后你有一个T的列表,它应该很容易使用。如果不是这样的话,您能详细说明一下问题吗?

如果您使用的是对象/类,那么应该引用数组中的值,而不是使用值的副本

你是说像这样的事吗

private List<T> UpdateValues<T>(T[] values)
{
   List<T> list = new List<T>();
   foreach(T t in values)
   {
      list.Add(t);
   }
   return list;
}
私有列表更新值(T[]值)
{
列表=新列表();
foreach(T值)
{
列表。添加(t);
}
退货清单;
}
然后你有一个T的列表,它应该很容易使用。如果不是这样的话,你能详细说明一下这个问题吗?

你真的需要把变量分开吗?你能不能从一个表单的集合开始——不是作为一个副本,而是在没有任何单独变量的情况下保存数据

你在重复代码中使用这些变量做什么?您可能会发现,您可以使用一种方便的方法,而不是真正的循环。

您真的需要将变量分开吗?你能不能从一个表单的集合开始——不是作为一个副本,而是在没有任何单独变量的情况下保存数据


你在重复代码中使用这些变量做什么?您可能会发现,您可以使用一种方便的方法,而不是真正的循环。

您可以尝试反射

Reflection.FieldInfo fields[] = this.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

你可以试着思考

Reflection.FieldInfo fields[] = this.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

您可以发布将私有变量推入类型列表数组(甚至是代码的其余部分)的语句吗?您可以添加代码示例吗?您可以发布将私有变量推入类型列表数组(甚至是代码的其余部分)的语句吗?您可以添加代码示例吗?