public void Initialize(ExtensionConfigContext context) { if (context == null) { throw new ArgumentNullException("context"); } var fileBindingProvider = new FileAttributeBindingProvider(_options, _nameResolver); context.AddBindingRule <FileAttribute>() .Bind(fileBindingProvider); var triggerBindingProvider = new FileTriggerAttributeBindingProvider(_options, _loggerFactory, _fileProcessorFactory); var triggerRule = context.AddBindingRule <FileTriggerAttribute>(); triggerRule.BindToTrigger(triggerBindingProvider); triggerRule.AddConverter <string, FileSystemEventArgs>(p => FileTriggerBinding.GetFileArgsFromString(p)); triggerRule.AddConverter <FileSystemEventArgs, Stream>(p => File.OpenRead(p.FullPath)); }
public void Initialize(ExtensionConfigContext context) { if (context == null) { throw new ArgumentNullException("context"); } var rule = context.AddBindingRule <FileAttribute>(); rule.BindToInput <FileInfo>(this.GetFileInfo); rule.BindToInput <FileStream>(this.GetFileStream); rule.BindToStream(this, FileAccess.ReadWrite); // Triggers var rule2 = context.AddBindingRule <FileTriggerAttribute>(); rule2.BindToTrigger <FileSystemEventArgs>(new FileTriggerAttributeBindingProvider(_options, _loggerFactory, _fileProcessorFactory)); rule2.AddConverter <string, FileSystemEventArgs>(str => FileTriggerBinding.GetFileArgsFromString(str)); rule2.AddConverter <FileSystemEventArgs, Stream>(args => File.OpenRead(args.FullPath)); }