用AspJpeg组件,按宽高比例,真正生成缩略图

laifangsong's .NET blog

取长补短,精益求精。 (打个广告,想做手机网站和asp/asp.net网站的可以跟我联系.QQ:25313644)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

委托:关于猫,老鼠,主人的面试题答案。

Posted on 2006-04-15 13:11  laifangsong  阅读(519)  评论(0编辑  收藏  举报
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace AspNetTest.Common
{
    
/// <summary>
    
/// Define_Delegate_CatMouse 的摘要说明。
    
/// </summary>

    
    
public delegate void ShoutEventHandler();
    
    
public class Define_Delegate_CatMouse : System.Web.UI.Page
    
{
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            Cat cat 
= new Cat();
            Mouse mouse1
= new Mouse(cat, "老鼠1");    
            Mouse mouse2
= new Mouse(cat, "老鼠2");    
            Master master
= new Master(cat);    
            cat.Shout();
            
// 在此处放置用户代码以初始化页面
        }


        
Web 窗体设计器生成的代码
    }

    
public abstract class ActionSubject
    
{
        
public ShoutEventHandler OnShout;
        
protected void AffectResponse()
        
{
            
if(this.OnShout!=null)
            
{
                
this.OnShout();
            }

        }

    }

    
    
public class Cat : ActionSubject
    
{
        
public void Shout()
        
{
            HttpContext.Current.Response.Write(
"猫大叫!<br>");
            AffectResponse();
        }

    }

    
public abstract class AffectSubject
    
{
        
public AffectSubject(ActionSubject actionSubject)
        
{
            actionSubject.OnShout 
+= new ShoutEventHandler(Response);
        }

        
public abstract void Response();
    }

    
public class Master : AffectSubject
    
{
        
public Master(ActionSubject actionSubject) : base(actionSubject)
        
{
        }

        
public override void Response()
        
{
            HttpContext.Current.Response.Write(
"主人醒了!<br>");
        }

    }

    
public class Mouse : AffectSubject
    
{
        
private string name;
        
public Mouse(ActionSubject actionSubject, string name) : base(actionSubject)
        
{
            
this.name = name;
        }

        
public override void Response()
        
{
            HttpContext.Current.Response.Write(
this.name + "跑!<br>");
        }

    }

    
    
    
    
    
    
    
}