zoukankan      html  css  js  c++  java
  • delegate

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Collections.Generic;

    using System.Text;

    // N:1调用
    public delegate void DataChangedHandler(int increment);
    // 操作实现,定义了数据计算方法
    public class CounterOperaotr
    {
        
    public DataChangedHandler Increased;
        
    public void Add(int data) { Increased(data); }
        
    public void Substract(int data) { Increased(-1 * data); }
    }

    // 操作引用,有操作引用实体及数据源
    public class Counter
    {
        
    public int Data;
        
    // 接收广播
        public Counter(CounterOperaotr counterOperator)
        
    {
            counterOperator.Increased 
    += ChangeData;
        }


        
    public void ChangeData(int increment){
            Data 
    += increment;
        }

    }

    // 2号
    public class Counter2
    {
        
    public int Data;
        
    // 接收广播
        public Counter2(CounterOperaotr counterOperator)
        
    {
            counterOperator.Increased 
    += ChangeData;
        }


        
    public void ChangeData(int increment){
            Data 
    += increment;
        }

    }


    public partial class test : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            Response.Write(Test());
        }

        
        
    public string Test()
        
    {
            
    // 操作类
            CounterOperaotr countoperator = new CounterOperaotr();
            
    // 操作类的客户
            Counter counter = new Counter(countoperator);
            
    // 客户2
            Counter2 counter2 = new Counter2(countoperator);

            countoperator.Add(
    12);
            countoperator.Substract(
    10);

            StringBuilder sb 
    = new StringBuilder();

            sb.AppendLine(counter.Data.ToString());
            sb.AppendLine(counter2.Data.ToString());

            
    return sb.ToString();
        }

    }
  • 相关阅读:
    static 续--
    [非原创]java 中static作用解析
    public/private/protected作用域
    三种排序方法(冒泡、选择、插入)
    SQLMAP自动注入(四)
    SQLMAP自动注入(三)—Injection,Detection,Techniques
    SQLMAP自动注入(二)-request,优化
    SQLMAP自动注入(一)
    SQL盲注
    SQL注入——猜测字段名称
  • 原文地址:https://www.cnblogs.com/moye/p/949632.html
Copyright © 2011-2022 走看看