时间:2016-02-16 03:16 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【.NET 下运用策略模式(组合行为和实体的一种模式)】,下面是详细的讲解!
.NET 下运用策略模式(组合行为和实体的一种模式)
using System;
using System.Linq;
namespace StrategyPattern
{
class Program
{
static void Main(string[] args)
{
UITest test=new UITest();
test.RunTest();
test.SetProxy("zh-cn");
test.RunTest();
}
}
class UITest
{
Action proxyStrategy;
//Default is US market
public UITest(String market="en-us")
{
setProxy(market);
}
public void SetProxy(String market)
{
setProxy(market);
}
private void setProxy(String market)
{
Type proxy=typeof(Proxy);
var m=(from i in proxy.GetMethods()
from j in i.GetCustomAttributes(false)
let k=j as Market
where k !=null
&& k.MarketName.Contains(market)
select i).First();
proxyStrategy=(Action)Delegate.CreateDelegate(typeof(Action), null, m);
}
public void RunTest()
{
proxyStrategy();
//之后运行主要的功能测试
//......
}
}
class Market : Attribute
{
public String MarketName { get; set; }
public Market(String marketName)
{
this.MarketName=marketName;
}
}
class Proxy
{
[Market("en-us,es-us")]
public void SetUSProxy()
{
Console.WriteLine("us proxy");
}
[Market("zh-cn")]
public void SetChinaProxy()
{
Console.WriteLine("china proxy");
}
[Market("en-gb")]
public void SetUKProxy()
{
Console.WriteLine("uk proxy");
}
}
}
关于.NET 下运用策略模式(组合行为和实体的一种模式)的用户互动如下:
相关问题:C# 组合模式与ADO.NET实体数据模型的结合使用怎么...
答:你说的是C#开发的ADO.NET程序吧,也就是用C#+Access或者C#+SQL开发的数据库系统,基本都会的 >>详细
相关问题:“低碳经济”已成为经济发展的重要模式,实现“低碳经...
答:A、电解水需要消耗电能,故不是最节能的方案.B、焦炭与水蒸气反应需要高温,故不节约能源.C、太阳光分解水不需要消耗地球能源,只需太阳光和催化剂即可,是最节约能源的方案.D、天然气与水蒸气反应需要高温,故不节约能源.故选:C. >>详细
相关问题:请使用策略模式设计一个系统,该系统包含有几种输...
答:统包含有几种输出英文字母表的策略 肯定好,对待好的 >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
