these classes are frequent use of stateful Models for M-V-Whatever. PCL(Portable Class Library) & MIT License.
supported
- .NET Framework 4.5
- Windows 8
- Windows Phone Silverlight 8
- Xamarin.Android
- Xamarin.iOS
- Xamarin.iOS(Classic)
MIT License.
the classes that implement ISynchronizableNotifyChangedCollection < T > have ToSyncedXXX Methods (XXX ... any ISynchronizableNotifyChangedCollection < T >).
ToSyncedXXX Methods is creating one-way synchronized collection with source collection.
###Simple Usage
//thread-safe collectionvarsource=newObservableSynchronizedCollection<int>(Enumerable.Range(1,3));// sorted collectionvarsortedSource=newSortedObservableCollection<int,int>(Enumerable.Range(1,4),i =>i);//UI threadvarcontext=newDispatcherSynchronizationContext(Dispatcher.CurrentDispatcher);//SynchronizationContext(send) bouded collection.vardispatcherSource=newSynchronizationContextCollection<int>(Enumerable.Range(1,5),context);While creating one-way synchronized collection, this method lock source collection, so no leak items.

ISynchronizableNotifyChangedCollection < T > is IDisposable. When Dispose() called , all EventHandler from source collection will be detached.

PropertyChangedEventListener/CollectionChangedEventListener
//use collection initializervarlistener=newPropertyChangedEventListener(NotifyObject){{"Property1",(sender,e)=>Hoge()},{"Property2",(semder,e)=>Huge()}};listener.RegisterHandler((sender,e)=>Hage());listerer.RegisterHandler("Property3",(semder,e)=>Fuga());//when dispose() called, detach all handlerlisterner.Dispose();- PropertyChangedWeakEventListener (PropertyChangedEventListener by weak event)
- CollectionChangedWeakEventListener (CollectionChangedWeakEventListener by weak event)
- WeakEventListener (all‐purpose weak event listener)
varbutton=newButton(){Width=100,Height=100};varweakListener=newWeakEventListener<RoutedEventHandler,RoutedEventArgs>(
h =>newRoutedEventHandler(h),
h =>button.Click+=h,
h =>button.Click-=h,(sender,e)=>button.Content="Clicked!!");- AnonymousComparer < T >
- AnonymousDisposable
- AnonymousSynchronizationContext etc
- CompositeDiposable - Rx like CompositeDisposable etc

