什么是降低或者避免使用switch的 C#方法
发布时间:2023-06-08 06:30:11 所属栏目:语言 来源:网络
导读: Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。
工厂接口:
代码如下:
IGetFact
工厂接口:
代码如下:
IGetFact
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"; //} } (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐