加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

C#可以减少或不使用switch有何方式

发布时间:2023-03-25 13:06:34 所属栏目:语言 来源:
导读:Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。工厂接口:代码如下:IGetFactoryusing System;using System.Collections.Generic;using System.

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";

//}

}

(编辑:银川站长网)

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