コード例 #1
0
ファイル: SignalEx.cs プロジェクト: inyutin-maxim/dataflow
        public static IVoidSourceAdapter AsVoid <T>(this ITarget <T> self)
        {
            var lf     = Lifetime.DefineDependent(self.Lifetime).Lifetime;
            var signal = new VoidSourceAdapter(lf);

            return(signal);
        }
コード例 #2
0
        public DataSource(OuterLifetime outerLifetime)
        {
            var lf = Lifetime.DefineDependent(outerLifetime).Lifetime;

            X = Property <decimal> .Create(lf);

            Y = Property <decimal> .Create(lf);
        }
コード例 #3
0
        public Person(OuterLifetime lf)
        {
            _lfd   = Lifetime.DefineDependent(lf);
            Height = Property <int> .Create(_lfd.Lifetime);

            Weigth = Property <int> .Create(_lfd.Lifetime);

            Salary = Property <int> .Create(_lfd.Lifetime);
        }
コード例 #4
0
ファイル: SignalEx.cs プロジェクト: inyutin-maxim/dataflow
        public static ISourceAdapter <TRes> Select <T, TRes>(this ITarget <T> self, Func <T, TRes> selector)
        {
            var lf     = Lifetime.DefineDependent(self.Lifetime).Lifetime;
            var signal = new SourceAdapter <TRes>(lf);

            self.Subscribe(x =>
            {
                signal.Fire(selector(x));
            });

            return(signal);
        }
コード例 #5
0
ファイル: SignalEx.cs プロジェクト: inyutin-maxim/dataflow
        public static ISourceAdapter <T> Where <T>(this ITarget <T> self, Func <T, bool> predecate)
        {
            var lf     = Lifetime.DefineDependent(self.Lifetime).Lifetime;
            var signal = new SourceAdapter <T>(lf);

            self.Subscribe(x =>
            {
                if (predecate(x))
                {
                    signal.Fire(x);
                }
            });

            return(signal);
        }
コード例 #6
0
        public ErrorsReporting(OuterLifetime lf)
        {
            _lfd      = Lifetime.DefineDependent(lf);
            _weigths  = new Gate <int>(_lfd.Lifetime);
            _heights  = new Gate <int>(_lfd.Lifetime);
            _salaries = new Gate <int>(_lfd.Lifetime);

            var wrongHeight = _weigths.Where(x => x > 250 || x < 0).Select(x => $"Wrong Height: {x}");
            var wrongWeight = _heights.Where(x => x > 250 || x < 0).Select(x => $"Wrong Weigth: {x}");
            var wrongSalary = _salaries.Where(x => x < 3000).Select(x => $"Wrong Salary: {x}");

            wrongSalary
            .Union(wrongHeight)
            .Union(wrongWeight)
            .Subscribe(x => Console.WriteLine($"  Message: {x}"));
        }
コード例 #7
0
 public DataSource(OuterLifetime outerLifetime, TaskScheduler scheduler = null)
 {
     _lfd     = Lifetime.DefineDependent(outerLifetime, "DataSource");
     _handler = OnIntegerComesHandler.Create(_lfd.Lifetime, scheduler);
 }
コード例 #8
0
 public ObjectsLayer(OuterLifetime dependant)
 {
     _lfd = Lifetime.DefineDependent(dependant);
 }