/// <summary>
            /// Initializes a new instance of the <see cref="T:TomsToolbox.ObservableCollections.ObservableExtensions.ObservableSelectImpl`2" /> class.
            /// </summary>
            /// <param name="sourceCollection">The source collection to wrap.</param>
            /// <param name="itemGeneratorExpression">The item generator to generate the wrapper for each item.</param>
            public ObservableSelectImpl([NotNull, ItemCanBeNull] IList <TSource> sourceCollection, [NotNull] Expression <Func <TSource, TTarget> > itemGeneratorExpression)
                : base(sourceCollection, itemGeneratorExpression.Compile())
            {
                _propertyName    = PropertySupport.TryExtractPropertyName(itemGeneratorExpression);
                _sourceReference = new TomsToolbox.Core.WeakReference <IList <TSource> >(sourceCollection);

                if (_propertyName == null)
                {
                    return;
                }

                _propertyChangeEventListeners = GeneratePropertyChangeEventListeners(sourceCollection);
            }
Beispiel #2
0
 public SomeComplexSample(T1 target, TomsToolbox.Core.WeakReference <T2> source, Action <T1, object, EventArgs> onEventAction, Action <WeakEventListener <T1, T2, EventArgs>, T2> onAttachAction, Action <WeakEventListener <T1, T2, EventArgs>, T2> onDetachAction)
     : base(target, source, onEventAction, onAttachAction, onDetachAction)
 {
 }