zoukankan      html  css  js  c++  java
  • 1.C#中通过委托Action消除重复代码

    阅读目录

      一:重复的代码
      二:使用委托消除重复代码

        一:重复的代码
       
    我们在写一些方法的时候,会在里面可能出现异常的地方使用try catch语句,这样每个方法都会有try catch语句,这样就有了坏味道,如下所示,在GetName和GetAge里面都有try catch语句,这样就有了重复代码

     1 static void Main(string[] args)
     2         {
     3             GetName();
     4             GetAge();
     5             Console.ReadLine();
     6         }
     7 
     8         private static void GetName()
     9         {
    10             try
    11             {
    12                 Console.WriteLine("My name is david");
    13             }
    14             catch (Exception ex)
    15             {
    16 
    17             }
    18           
    19         }
    20 
    21         private static void GetAge()
    22         {
    23             try
    24             {
    25                 Console.WriteLine("I 30 old years");
    26             }
    27             catch (Exception ex)
    28             {
    29 
    30             }
    31         }

      二:使用委托Action消除重复代码
         
    如下所示,try catch 语句只有一次了,这样就消除了每个方法的try catch语句

     1         static void Main(string[] args)
     2         {
     3             GetName();
     4             GetAge();
     5             Console.ReadLine();
     6         }
     7 
     8         private static void GetName()
     9         {
    10             TryExecute(() =>
    11             {
    12                 Console.WriteLine("My name is david");
    13             },
    14           "GetName");
    15         }
    16 
    17         private static void GetAge()
    18         {
    19             TryExecute(() => {
    20                 Console.WriteLine("I 30 old years");
    21             },"GetAge");
    22         }
    23 
    24         private static void TryExecute(Action action, string methodName)
    25         {
    26             try
    27             {
    28                 action();
    29             }
    30             catch (Exception ex)
    31             {
    32                 Console.WriteLine("MethodName:" + methodName + " Error:" + ex.Message);
    33             }
    34         }

     

     

  • 相关阅读:
    文档的几何形状和滚动
    聊聊并发——生产者消费者模式
    在JavaScript中什么时候使用==是正确的?
    HTML5使用canvas画图时,图片被自动放大模糊的问题
    获取元素的几种方式
    利用jQuery和CSS实现环形进度条
    最实用、最常用的jQuery代码片段
    表格样式
    javascript常量的定义
    null 和 undefined 的区别
  • 原文地址:https://www.cnblogs.com/menglin2010/p/5229023.html
Copyright © 2011-2022 走看看