加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

C#可以减少或不运用switch有什么方法

发布时间:2023-04-14 13:37:21 所属栏目:语言 来源:
导读:Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。

工厂接口:

代码如下:

IGetFactory

using System;

using System.Collecti
Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。
 
工厂接口:
 
代码如下:
 
IGetFactory
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Web;
 
/// <summary>
 
/// Summary description for IGetFactory
 
/// </summary>
 
namespace Insus.NET
 
{
 
public interface IGetFactory
 
{
 
string GetResult();
 
}
 
}
 
Get工厂类:
 
代码如下:
 
GetFactory
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Web;
 
/// <summary>
 
/// Summary description for GetFactory
 
/// </summary>
 
namespace Insus.NET
 
{
 
public class GetFactory : IGetFactory
 
{
 
public GetFactory()
 
{
 
//
 
// TODO: Add constructor logic here
 
//
 
}
 
public string GetResult()
 
{
 
return "get";
 
}
 
}
 
}
 
GetTest类:
 
代码如下:
 
GetTestFactory
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Web;
 
/// <summary>
 
/// Summary description for GetTestFactory
 
/// </summary>
 
namespace Insus.NET
 
{
 
public class GetTestFactory : IGetFactory
 
{
 
public GetTestFactory()
 
{
 
//
 
// TODO: Add constructor logic here
 
//
 
}
 
public string GetResult()
 
{
 
return "gettest";
 
}
 
}
 
}
 
以及GetSet类:
 
代码如下:
 
GetSetFactory
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Web;
 
/// <summary>
 
/// Summary description for GetSetFactory
 
/// </summary>
 
namespace Insus.NET
 
{
 
public class GetSetFactory : IGetFactory
 
{
 
public GetSetFactory()
 
{
 
//
 
// TODO: Add constructor logic here
 
//
 
}
 
public string GetResult()
 
{
 
return "getset";
 
}
 
}
 
}
 
因此你的代码最终变为:
 
代码如下:
 
View Code
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Web;
 
using System.Web.UI;
 
using System.Web.UI.WebControls;
 
using Insus.NET;
 
public partial class _Default : System.Web.UI.Page
 
{
 
protected void Page_Load(object sender, EventArgs e)
 
{
 
}
 
public string Exec(string mothedName)
 
{
 
string ret = "";
 
//switch (mothedName)
 
//{
 
// case "get":
 
// ret = get();
 
// break;
 
// case "get1":
 
// ret = gettest();
 
// break;
 
// //.....
 
// case "testget":
 
// ret = getrset();
 
// break;
 
//}
 
IGetFactory get = new GetTestFactory(); //这里是实现工厂类
 
ret = get.GetResult();
 
return ret;
 
}
 
//public string get()
 
//{
 
// return "get";
 
//}
 
//public string gettest()
 
//{
 
// return "gettest";
 
//}
 
//public string getrset()
 
//{
 
// return "getset";
 
//}
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!