C#私有变量列表

时间:2009-07-16 16:26:02

标签: c#

我怀疑这个问题说明我对C#幕后发生的事情缺乏了解,但是嘿......

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

无论如何,简而言之,是否有办法在循环中设置私有变量的加载?我错过了一些非常明显的东西,或者我想要的实际上不可能吗?

4 个答案:

答案 0 :(得分:2)

你实际上需要变量是独立的吗?您是否可以使用某种形式的集合开始 - 不是作为副本,而是在没有任何单独变量的情况下保存数据?

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

答案 1 :(得分:1)

你可以尝试反思,

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

你的意思是这样吗?

private List<T> UpdateValues<T>(T[] values)
{
   List<T> list = new List<T>();
   foreach(T t in values)
   {
      list.Add(t);
   }
   return list;
}

然后你有一个T的列表,它应该相当容易使用。如果不是这样,你可以解决一下这个问题吗?