using System;
namespace Bank
{
public class Pay
{
public string Send<T, T2>(Func<T, Bank.User, string> funcDo, T context, Bank.User model, Func<string, string> funcLog, Func<string, string> funcDoOther)
{
string result = string.Empty;
try
{
int x = 0;
model.Id = "99";
model.Name = "戴新清";
model.Pwd = "888888";
result = funcDo(context, model);
x = x / x;
}
catch (Exception ex)
{
result = "错误";
funcLog(ex.ToString());
}
finally
{
funcDoOther("总计");
}
return result;
}
}
}
using System;
namespace Bank
{
public class User
{
public string Id { get; set; }
public string Name { get; set; }
public string Pwd { get; set; }
public static string Money = "999999999.00";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Bank.Pay pay = new Bank.Pay();
Bank.User model = new Bank.User();
string result = pay.Send<System.Web.HttpContext, Bank.User>(TestMethod, Context, model, Log, DoOther);
Response.Write(result);
Response.End();
}
public string TestMethod(System.Web.HttpContext context, Bank.User model)
{
context.Response.Clear();
context.Response.Write("<br />Id:" + model.Id + ",Name:" + model.Name + ",Pwd:" + model.Pwd + ",Money:" + Bank.User.Money);
return "我是戴新清";
}
public string Log(string ex)
{
Response.Write("<br/>"+ex);
return "0";
}
public string DoOther(string ex)
{
Response.Write("<br/>write");
return "6";
}
}