ilih

Untitled

Sep 16th, 2022 (edited)
1,360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.37 KB | None | 0 0
  1.     abstract class Gateway
  2.     {
  3.         Gateway[] required;
  4.  
  5.         bool IsOpen;
  6.  
  7.         public async Task<bool> Open()
  8.         {
  9.             var tasks = new List<Task>();
  10.             foreach (var n in required)
  11.             {
  12.                 if (!n.IsOpen)
  13.                 {
  14.                     tasks.Add(n.Open());
  15.                 }
  16.             }
  17.  
  18.             await Task.WhenAll(tasks);
  19.             await SelfOpen();
  20.  
  21.             return IsOpen;
  22.         }
  23.  
  24.         protected abstract Task SelfOpen();
  25.     }
Advertisement
Add Comment
Please, Sign In to add comment