public virtual TSender New <TSender, TBundler, TReceiver>(MonitorInterface <TSender, TBundler, TReceiver> @interface) where TSender : class, IMethodizedMonitorSender where TBundler : class, IMethodizedMonitorSender, IMethodizedMonitorReceiver, IMethodizedMonitorStatus where TReceiver : MethodizedMonitorReceiver <TBundler>, IMethodizedMonitorReceiver { return(MonitorStorage <TSender, TBundler, TReceiver> .Get(this, @interface)); }
internal TSender GetMonitorSender <TSender, TBundler, TReceiver>(MonitorInterface <TSender, TBundler, TReceiver> @interface, Type transType, Type bundlerType, Type userDefStartState) where TSender : class, IMethodizedMonitorSender where TBundler : class, IMethodizedMonitorSender, IMethodizedMonitorReceiver, IMethodizedMonitorStatus where TReceiver : MethodizedMonitorReceiver <TBundler>, IMethodizedMonitorReceiver { var receiver = Container.Resolve <TReceiver>(); var id = Runtime.NewMonitor(transType); var registeredMonitors = Runtime.GetRegisteredMonitors(); return((TBundler)registeredMonitors.AddOrUpdate(id, _ => default, (_, oldBundler) =>