C#将类作为参数传递给方法,并在其中调用静态方法

吉卜

我是C#的新手,正在寻找实现以下实现的最佳方法。

我的项目有几个Model类(例如25个),每个类都有一个称为“ process()”的静态方法,这仅需要一点时间即可完成其任务。

我需要一个接一个地调用每个类中的所有这些方法,并添加一些日志(将方法执行的写入状态写入文件)来跟踪执行。

我可以简单地执行以下操作,但是可以肯定,应该有一种更好的专业方法来执行此操作

Log.WriteLog(DateTime.Now + " Class A Process Started");
ClassA.Process()
Log.WriteLog(DateTime.Now + " Class A Process Finished");
Log.WriteLog(DateTime.Now + " Class B Process Started");
ClassB.Process()
Log.WriteLog(DateTime.Now + " Class B Process Finished");
............ continue 25 classes

我想做的是编写一个方法,然后在其中添加日志和重复性工作。

private void CommonMethod(Class)
{
   Check what class
   Add Process started Log
   Call Process method
   Add proicess finished Log
}
戴夫·肖

您可以创建接受委托并执行日志记录的函数,如下所示:

public void ProcessAndLog(Action action, String processName)
{
  Log.WriteLog(DateTime.Now + $" Class {processName} Process Started");
  action();
  Log.WriteLog(DateTime.Now + $" Class {processName} Process Finished");
}

并这样称呼它:

ProcessAndLog(ClassA.Process, "A"); //"A" could be part of ClassA - e.g. ClassA.Name;
ProcessAndLog(ClassB.Process, "B");
//etc

只要每个Process方法都没有参数且无效,则此方法将起作用-Action委托的签名

如果它具有参数,则可以这样调用它:

ProcessAndLog(() => ClassC.Process("value"), "C");

如果您需要返回值,请考虑使用Func<T>而不是Action

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#将类作为参数传递给方法,并在其中调用静态方法

来自分类Dev

将类作为参数传递给方法,然后调用静态方法

来自分类Dev

(C ++)将'this'传递给静态方法作为默认参数

来自分类Dev

C#将通用类作为参数传递给自定义方法

来自分类Dev

当静态类方法可调用时,将参数传递给静态类方法的适当方法是什么?

来自分类Dev

如何将非静态方法从特定类作为参数传递给Function

来自分类Dev

将内联构造的类作为类参数传递给方法

来自分类Dev

将内联构造的类作为类参数传递给方法

来自分类Dev

如何将属性作为参数传递给在类上调用的方法?

来自分类Dev

将枚举类作为参数传递给Java中的方法

来自分类Dev

如何将类作为可选参数传递给方法?

来自分类Dev

C ++:将类作为参数传递给其他类的方法

来自分类Dev

将类的方法作为参数传递给C ++中的另一个类

来自分类Dev

C ++将方法的指针数组作为参数传递给方法

来自分类Dev

将空值传递给C#中Object和String作为参数的重载方法

来自分类Dev

将配置值作为参数传递给实例方法C#

来自分类Dev

C#-将委托作为参数传递给方法

来自分类Dev

将方法作为参数传递给PHP

来自分类Dev

将函数作为参数传递给方法

来自分类Dev

将静态方法作为参数传递给Kotlin中的另一个方法

来自分类Dev

将实例作为参数传递给静态方法的字节预算委派实例方法

来自分类Dev

将 C# 对象(包含静态对象成员)作为参数传递给 C++/CLI 程序

来自分类Dev

如何将方法传递为泛型,并在其中传递类和字符串?

来自分类Dev

如何将方法(多个方法)作为参数传递给继承的void方法或C#中的委托?

来自分类Dev

将方法参数传递给类

来自分类Dev

c# 将类变量作为参数在方法 LINQ 中传递,例如?

来自分类Dev

将类作为方法中的参数传递,并在If语句中使用此参数

来自分类Dev

将类方法作为函数参数传递

来自分类Dev

将类型参数作为类型参数的类传递给Java中的泛型方法

Related 相关文章

  1. 1

    C#将类作为参数传递给方法,并在其中调用静态方法

  2. 2

    将类作为参数传递给方法,然后调用静态方法

  3. 3

    (C ++)将'this'传递给静态方法作为默认参数

  4. 4

    C#将通用类作为参数传递给自定义方法

  5. 5

    当静态类方法可调用时,将参数传递给静态类方法的适当方法是什么?

  6. 6

    如何将非静态方法从特定类作为参数传递给Function

  7. 7

    将内联构造的类作为类参数传递给方法

  8. 8

    将内联构造的类作为类参数传递给方法

  9. 9

    如何将属性作为参数传递给在类上调用的方法?

  10. 10

    将枚举类作为参数传递给Java中的方法

  11. 11

    如何将类作为可选参数传递给方法?

  12. 12

    C ++:将类作为参数传递给其他类的方法

  13. 13

    将类的方法作为参数传递给C ++中的另一个类

  14. 14

    C ++将方法的指针数组作为参数传递给方法

  15. 15

    将空值传递给C#中Object和String作为参数的重载方法

  16. 16

    将配置值作为参数传递给实例方法C#

  17. 17

    C#-将委托作为参数传递给方法

  18. 18

    将方法作为参数传递给PHP

  19. 19

    将函数作为参数传递给方法

  20. 20

    将静态方法作为参数传递给Kotlin中的另一个方法

  21. 21

    将实例作为参数传递给静态方法的字节预算委派实例方法

  22. 22

    将 C# 对象(包含静态对象成员)作为参数传递给 C++/CLI 程序

  23. 23

    如何将方法传递为泛型,并在其中传递类和字符串?

  24. 24

    如何将方法(多个方法)作为参数传递给继承的void方法或C#中的委托?

  25. 25

    将方法参数传递给类

  26. 26

    c# 将类变量作为参数在方法 LINQ 中传递,例如?

  27. 27

    将类作为方法中的参数传递,并在If语句中使用此参数

  28. 28

    将类方法作为函数参数传递

  29. 29

    将类型参数作为类型参数的类传递给Java中的泛型方法

热门标签

归档