首页 新闻 搜索 专区 学院

C#代码优化问题

0
[已关闭问题] 关闭于 2014-02-05 20:04

有个类有很多方法,但这些方法最后一步都要执行同一个方法(此方法有重载),只是参数不同,应如何优化这些代码。

public class A{

public void Method1(){

//……

SetOrder(23);

}

public void Method2(){

//……

SetOrder("abc");

}

public void Method3(){

//……

SetOrder("1246");

}

}

//实充问题:不是SetOrder方法不会写,这个方法是写好了。只是A类的方法里最后一句调用此方法,传入不同参数,我想优化代码的目的是写A类方法时,不用老写这一句,因为有时可能也会忘了调用SetOrder方法,这样的框架是不理想的,另外在别的地方也不好访问这方法里的SetOrder,最后我想若没有好的框架设计这个问题,我想还是考虑写成属性。

╰☆炫〃╰芯苡╯的主页 ╰☆炫〃╰芯苡╯ | 菜鸟二级 | 园豆:213
提问于:2014-01-28 09:12
< >
分享
所有回答(6)
0

public class A{
void  Method(Object value)

if(value==null)

{

return ;
}

Type ty=Typeof(value);

switch(ty)
{

case int.getType():  

doSthwithInt();

break;

case String.getType():

doSthwithString();

break;

default:

break;

 }

菜鸟老了 | 园豆:145 (初学一级) | 2014-01-28 09:30
0

可以用泛型啊。

告诉 | 园豆:285 (菜鸟二级) | 2014-01-28 09:38
0

public void Method1(object o){

//……

SetOrder(23);

}

SetOrder(object o){}

wolfy | 园豆:2636 (老鸟四级) | 2014-01-28 09:40
0
    public class MyCMetod<T>
    {
        public T m_value;

        public void SetValue(T t)
        {
            m_value = t;
        }

        public T GetValue()
        {
            return m_value;
        }
    }

            //使用
            MyCMetod<int> _myc=new MyCMetod<int>();
            _myc.SetValue(3);

            MyCMetod<string> _mycStr=new MyCMetod<string>();
            _mycStr.SetValue("aaa");
            //.....
li-peng | 园豆:954 (小虾三级) | 2014-01-28 09:58
0

基类开个虚方法

空明流光 | 园豆:62 (初学一级) | 2014-01-28 17:25

那也不可能一个类十几个方法都去实现这个虚方法吧。

支持(0) 反对(0) ╰☆炫〃╰芯苡╯ | 园豆:213 (菜鸟二级) | 2014-01-31 14:32

@╰☆炫〃╰芯苡╯: 虚方法有默认行为的,只有子类与基类不一致时才需要override的。你到底有没有写过虚方法呀

支持(0) 反对(0) 空明流光 | 园豆:62 (初学一级) | 2014-02-04 15:31
0

这些人啊。。。就一个参数而已。。直接调用能死啊!

56180825 | 园豆:1429 (小虾三级) | 2014-01-31 16:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册