C#设计模式之代理类的例子
来源:互联网 发布:cntv中国网络电视台apk 编辑:程序博客网 时间:2024/05/22 13:29
C#引入了C语言中的一个独特属性,叫做代理,代理本质上是对另一个类中的函数的引用,可以分派和使用函数而无需要知道它来自哪一个类 ,只要函数满足同样的接口就可以.
下面这个例子很简单,功能就是实现一串字符大小写的转换
做法步骤:
新建一个代理类
//定义代理类需要命名空间using System.IO
public class DelegateClass
{
private delegate string ftxDelegate(string s);
public class Capital//转换大写的类
{
public string fixText(string s)
{
return s.ToUpper();
}
}
public class Lower//转换小写的类
{
public static string fixText(string s)
{
return s.ToLower();
}
}
public class DelegateClass
{
private delegate string ftxDelegate(string s);
public class Capital//转换大写的类
{
public string fixText(string s)
{
return s.ToUpper();
}
}
public class Lower//转换小写的类
{
public static string fixText(string s)
{
return s.ToLower();
}
}
public string GetString(bool UpperOrLower,string s)
{
ftxDelegate ftxText;
if(UpperOrLower)
{
ftxText=new ftxDelegate(Lower.fixText);
}
else
{
Capital cpitalclass=new Capital();
ftxText=new ftxDelegate(cpitalclass.fixText);
}
return ftxText(s);
}
{
ftxDelegate ftxText;
if(UpperOrLower)
{
ftxText=new ftxDelegate(Lower.fixText);
}
else
{
Capital cpitalclass=new Capital();
ftxText=new ftxDelegate(cpitalclass.fixText);
}
return ftxText(s);
}
}
radiobutton和转换按扭上的代码如下:
radiobutton和转换按扭上的代码如下:
private void opUpper_CheckedChanged(object sender, System.EventArgs e)
{
btConvert.Enabled=true;
{
btConvert.Enabled=true;
}
private void opLower_CheckedChanged(object sender, System.EventArgs e)
{
btConvert.Enabled=true;
{
btConvert.Enabled=true;
}
private void btConvert_Click(object sender, System.EventArgs e)
{
DelegateClass mydelegate=new DelegateClass();
string s=txWord.Text;
string ss=mydelegate.GetString(opLower.Checked,s);
lsWord.Items.Add(ss);
{
DelegateClass mydelegate=new DelegateClass();
string s=txWord.Text;
string ss=mydelegate.GetString(opLower.Checked,s);
lsWord.Items.Add(ss);
}
- C#设计模式之代理类的例子
- C# 设计模式之 代理模式
- C#设计模式之代理模式
- c#设计模式之代理模式
- C#设计模式之使用接口的例子
- 常用的设计模式之代理模式
- java的设计模式之代理模式
- 设计模式之简单的代理模式
- 【C#设计模式-代理模式】
- C#设计模式--代理模式
- C#设计模式之13——代理模式
- C#设计模式之代理模式(一)
- C#设计模式之代理模式(二)
- C#设计模式之代理模式(三)
- C#设计模式之代理模式(四)
- C#设计模式之代理模式(Proxy Pattern)
- C#设计模式学习小结之十 代理模式
- C#设计模式之代理模式(Proxy Pattern)
- 读C++Primer 4(1)
- 修改 CListCtrl 的标题栏颜色;重写 CListCtrl 标题栏
- Matlab学习笔记(2)矩阵与魔方
- Matlab学习笔记(3)矩阵与魔方
- Matlab学习笔记(4)表达式
- C#设计模式之代理类的例子
- Matlab7.0学习笔记(5)Matlab绘图概要
- 高效程序员应该养成的七个习惯
- Matlab7.0学习笔记(6)基本的绘图函数
- Matlab7.0学习笔记(7)基本的绘图函数
- 用mysqlbinlog得到日志中的记录
- 病人退出与DetachedCriteria查询
- 学习c++
- Sql Server实用操作-SQL语句导入导出大全