加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、容器安全、数据加密、云日志、云数据迁移!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

什么是降低或者避免使用switch的 C#方法

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



  工厂接口:



  代码如下:



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

(编辑:晋中站长网)

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

    推荐文章