如何对对象使用c# Action

本文关键字:Action 对象 | 更新日期: 2023-09-27 18:06:10

我试图创建一个通用的重试策略,传入一个对象和一个函数来调用该对象。我知道这是可能的方法,但我不确定如何包括对象。

例如,我有一个api对象,它有许多不同的方法,我想把它们作为动作传递。如果发生某种类型的异常,我需要更新api对象中的值。

任何想法?由于

 public T Do<T>(Api api, Func<T> action, TimeSpan retryInterval, int retryCount = 3)
 {
        var exceptions = new List<Exception>();
        for (int retry = 0; retry < retryCount; retry++)
        {
             try
             {
                    return api.action();
             }
             catch (Exception ex)
             {

如何对对象使用c# Action

您想要Func<Api, T>并将其命名为action(api)