namespace Behavioral; public class LogProcessor { private readonly Func> _logimporter; public LogProcessor(Func> logImporter) { _logimporter = logImporter; } public void ProcessLogs() { foreach(var logEntry in _logimporter.Invoke()) { Console.WriteLine(logEntry.DateTime); Console.WriteLine(logEntry.Severity); Console.WriteLine(logEntry.Message); } } }