wwle 2023-03-28 19:38 采纳率: 50%
浏览 14

C# 模板函数 通用函数

 public class   BaseForm :UIPage
  public class UIPage : Form, IStyleInterface, ISymbol, IZoomScale    

//这就是BaseForm的由来,我现在有一段代码 :
  switch (ID)
            {
                case 1:    {
                        FmSetKD fm = new FmSetKD();
                        fm.Visible = true; ;
                        fm.Dock = DockStyle.Fill;
                        fm.uiLCap.Text = scap;
                        this.uiSplitContainer1.Panel2.Controls.Add(fm);
                        break;
                    }
                case 111: {
                    Fm_JY_Setup fm = new Fm_JY_Setup();  
                    fm.Visible= true;
                    fm.Dock= DockStyle.Fill; 
                    fm.uiLCap.Text= scap;
                    this.uiSplitContainer1.Panel2.Controls.Add(fm);
                    break; }
                case 112: {
                        Fm_JY_WC fm = new Fm_JY_WC();
                        fm.Visible = true;
                        fm.Dock = DockStyle.Fill;
                        fm.uiLCap.Text = scap;
                        this.uiSplitContainer1.Panel2.Controls.Add(fm);
                        break; }

这里面创建 对象 并初始化赋值,重复,能不能编写一个函数,把这段代码 代码优化一下。
就是编写一个模板函数 形如:

public void muban (<T> obj,string scap)

我刚开始学习c# ,请赐教

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-03-28 19:50
    关注

    你这个最好是使用策略设计模式,传入一个委托(也就是switch里面每一种情况代码),代替你的switch结构。

    评论

报告相同问题?

问题事件

  • 修改了问题 3月28日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line