首页 新闻 会员 周边

C# 获得函数返回值

0
悬赏园豆:50 [已关闭问题]

      .NET平台上写一个类文件,实现功能:对使用该类的程序,程序运行进入各个功能函数入口时添加一条信息到文本文件,程序运行退出函数体时将函数返回值添加到文本文件。该如何实现?思想是什么?

     补充:如果程序返回值是由一个开关语句来控制,用return 来返回,那么在每一个return前都要加一个写数据的方法,现在的要求就是不需要多条这样的语句来实现。只用一次或者不用来完成返回值的写入。

苍岭飞龙的主页 苍岭飞龙 | 初学一级 | 园豆:0
提问于:2010-02-23 15:49
< >
分享
其他回答(3)
0

AOP框架可以满足你的要求,我前段时间找过C#下的AOP框架,没有找到成熟的代码。你可以了解一下AOP原理,然后尝试使用C#实现。

赵保龙 | 园豆:249 (菜鸟二级) | 2010-02-23 17:05
0

楼上说的有道理,可以参考Spring.Net,即.Net下的AOP框架,这个比较成熟,是从Java迁移过来的

查尔斯 | 园豆:3832 (老鸟四级) | 2010-02-23 18:19
0

很有意思的问题

看下面的思路行不行:

class A{

   public object CallFunction(int fun, List<object> params){

        object return_value; 

        switch(fun){

           case 1:

               return_value=fun1(params);

               break;

           case 2:

               return_value=fun2(params);
               break;

               ......

     }

          WriteFile(return_value);

   }

 

    object fun1( List<object> params){

          return 1;

    }

 

    object fun2( List<object> params){

          return 2;

    }

}

 

 

调用 new A().CallFunction(1);

 

呵呵这样好像是有点麻烦,像参数传递这些都没有直接调用函数那么方便了。

东国先生 | 园豆:225 (菜鸟二级) | 2010-02-28 15:59
0

简单一点的方法,用事件,在类的每个方法内部,先执行MethodInvoking事件,返回值之前再直行MethodInvoked事件。

复杂一些的方法,用自定义特性。

更通用的方法,用AOP

麒麟.NET | 园豆:3614 (老鸟四级) | 2010-03-01 15:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册