zoukankan      html  css  js  c++  java
  • 静态对象再接再力(使数据和界面无关)


    使用静态的委托事件,可以让用户接口无类在哪个界面上都可以
    调用静态类的对象.
    下面是我声明的事件数据对象
    public class PersistentEventArgs :EventArgs
     {
           public PersistentObject pobject;
      public PersistentEventArgs(PersistentObject perobject)
      {
       this.pobject = perobject;
      }
     }
    同时再类中声明委托事件
    public delegate  void PrintClassEventHandler(object source,PersistentEventArgs args);
    public static event PrintClassEventHandler OnPrintClass;
    在类中声明静态的函数
    public static void PrintClass()
    {
       
       if (OnPrintClass != null)
     OnPrintClass(null,new PersistentEventArgs(PersistentObject.persistentObject));
    }
    现在我们可以在界面上直接吊用对象了,在form初始化时,添加对象事件
    PersistentObject.OnPrintClass += new PersistentMemoryObject.PersistentObject.PrintClassEventHandler(PersistentObject_OnPrintClass);
    在事件函数中的代码
    pClassLists.Items.Clear();
     foreach (ParameterClass pclass in args.pobject.classes)
      {
        //将具体的内容写入ListView;
        ListViewItem item = new ListViewItem(new string[]{pclass.ID,pclass.Field1,pclass.Filed2,pclass.Field3});
        pClassLists.Items.Add(item);
      }
    是不是有写多此一举,直接掉用静态类不就可以了吗?
    其实这里我只是想说明如何让数据和界面分开,在事件数据中可以放置如很多东西,
    而且不会混淆概念.
    源代码
    persistent.gif
    多按几下write可以或的不同数据,输入ID,和FieldValue,按WriteClass
    可以修改参数.

  • 相关阅读:
    JVM探秘:jstack查看Java线程状态
    JVM探秘:MAT分析内存溢出
    JVM探秘:jmap生成内存堆转储快照
    JVM探秘:jstat查看JVM统计信息
    JVM探秘:jinfo查看JVM运行时参数
    JVM探秘:JVM的参数类型
    JVM探秘:内存分配与回收策略
    JVM探秘:GC日志收集与分析
    JVM探秘:垃圾收集器
    JVM探秘:垃圾收集算法
  • 原文地址:https://www.cnblogs.com/wanghualiang/p/218817.html
Copyright © 2011-2022 走看看