让静态对象来维护你的数据

工作中希望将一些连续的对象数据保存在内存中,
常用的方法是创建一个集合类(Collections),最常用的是ArrayList或者他的继承类。
但是如果我们需要在多个对象中同时使用这个实例,就显得比较麻烦,
因为我们不可能将他在实例化一遍,
那么我们只能可以用它作为最初实例化此对象的一个属性来使用,是不是觉得很麻烦呢?
好,那我介绍一种将其作为一个静态对象的存储方式。
Example:https://files.cnblogs.com/wanghualiang/PersistentMemoryObject.rar
首先,创建一个对象同时创建此对象的静态实例:
 public class PersistentObject
 {
  public static PersistentObject persistentObject = new PersistentObject();
         }
创建一个ArrayList对象。
public ArrayList classes = new ArrayList();
建立操作集合的静态函数
public static void AddClass(ParameterClass subclass)
  {
   persistentObject.classes.Add(subclass);
  }

  public static void PrintClass()
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    PrintParameterClass(subclass);

   }
  }

  public static ParameterClass GetClassByID(string ID)
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    if (subclass.ID.Equals(ID))
     return subclass;
   }
   return null;

  }

  public static bool WriteClassByID(string ID, string Field1)
  {
   foreach (ParameterClass subclass in persistentObject.classes)
   {
    if (subclass.ID.Equals(ID))
    {
     lock(subclass)
     subclass.Field1 = Field1;
     PrintParameterClass(subclass);
    
     return true;
    }
   }
   return false;

  }

  public static void PrintParameterClass(ParameterClass pc)
  {
   Debug.Write(pc.ID+"\t");
   Debug.Write(pc.Field1+"\t");
   Debug.Write(pc.Filed2+"\t");
   Debug.Write(pc.Field3+"\t");
   Debug.Write("\n");

  }
OK!我们的静态持久对象就建立起来了.
附表
public class ParameterClass
 {
  public string ID;
  public string Field1;
  public string Filed2;
  public string Field3;

  public ParameterClass(string ID)
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
   this.ID = ID;
  }
 }

posted @ 2005-08-18 16:43  wanghualiang  阅读(1726)  评论(5编辑  收藏  举报