作者wind681201 (阿风~~)
看板C_Sharp
标题[问题] 求助流程改变
时间Sat Dec 23 20:45:22 2017
各位大大:
最近遇到一个设计上的问题,想请问各位大大,是否有方式可以解决,此案子是前人开
发,需要改变一些流程上的东西,大致上是这样的
Class A{
public void Action(){
A1();
A2();
A3();
}
privide void A1(){}
privide void A2(){}
privide void A3(){}
}
在controller中
ActionResult Index(){
A a = new A();
a.Action();
return View();
}
-------------------原始大致上是上面,是经过简化後的----------
需求是这样的,我需要在A2()与A3()中间,加入一个void,
将原本的流程改为 A1();A2();B1();A3();
但,我不想要去改变A这个class,因为种种原因,请问有什麽方式可以处理这样的
问题
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.73.164
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1514033125.A.D3D.html
1F:→ pzyc79: 继承A 覆写Action 12/23 21:33
2F:→ pzyc79: 不过Action要加上virtual private要改成protected 12/23 21:38
3F:→ Litfal: 除非他原本有挖好事件,不然不太可能完全不改A 12/23 23:13
4F:→ wind681201: 这就麻烦了,因为class A是整个系统的样版,不能变更 12/24 00:32
5F:→ testPtt: 不能扩增吗? 多写个Action2 12/24 07:46
6F:→ wind681201: 怎样的扩增呢? 12/24 16:40
7F:→ testPtt: class A加个Action2 反正不影响别人用class A 12/24 16:54
8F:→ wind681201: 有考虑过,但就还是更动了别人的程式码 12/24 19:12
9F:→ testPtt: 那就只能生个class B给他 12/24 20:08
10F:→ pzyc79: 把程式码复制贴上 改class名称或命名空间 这样总行了吧 12/24 21:54
11F:→ wind681201: 後来我决定,给个属性,用Action的方式来处理 12/24 23:08