|
1 | | -# ThunderDesign.Net-PCL.Threading |
| 1 | +# ThunderDesign.Net-PCL.Threading |
2 | 2 | [](https://github.com/ThunderDesign/ThunderDesign.Net-PCL.Threading/actions/workflows/CI.yml) |
3 | 3 | [](https://github.com/ThunderDesign/ThunderDesign.Net-PCL.Threading/actions/workflows/CD.yml) |
4 | 4 | [](https://www.nuget.org/packages/ThunderDesign.Net-PCL.Threading) |
@@ -52,22 +52,44 @@ A simple C# repository containing a few basic useful Thread-Safe Objects. |
52 | 52 | - Interfaces |
53 | 53 | - IBindableCollection |
54 | 54 | - IBindableDataObject |
55 | | - - IBindableDataObject\<Key> |
| 55 | + - IBindableDataObject\<TKey> |
56 | 56 | - IBindableObject |
57 | 57 | - ICollectionThreadSafe |
58 | 58 | - IDataObject |
59 | | - - IDataObject\<Key> |
| 59 | + - IDataObject\<TKey> |
60 | 60 | - IDictionaryThreadSafe |
| 61 | + - IGatedThreadLock |
| 62 | + - IGateKeeper |
| 63 | + - IGateKeeper\<TKey, TValue> |
61 | 64 | - IHashSetThreadSafe |
62 | 65 | - ILinkedListThreadSafe |
63 | 66 | - IListThreadSafe |
| 67 | + - IMethodThreadLock |
| 68 | + - IMultipleThreadLockManager\<TKey, TValue> |
| 69 | + - IObservableCollectionThreadSafe |
| 70 | + - IObservableCollectionThreadSafe\<T> |
64 | 71 | - IObservableDataCollection |
65 | 72 | - IObservableDataCollection\<T> |
66 | | - - ISortedDictionaryThreadSafe |
67 | | - - IStackThreadSafe |
| 73 | + - IObservableDataDictionary |
| 74 | + - IObservableDataDictionary\<TKey, TValue> |
| 75 | + - IObservableDictionaryThreadSafe |
| 76 | + - IObservableDictionaryThreadSafe\<TKey, TValue> |
| 77 | + - IQueueThreadSafe |
| 78 | + - IQueueThreadSafe\<T> |
| 79 | + - ISingleThreadLock |
| 80 | + - ISortedDictionaryThreadSafe\<TKey, TValue> |
| 81 | + - ISortedListThreadSafe |
| 82 | + - ISortedListThreadSafe\<TKey, TValue> |
| 83 | + - IStackThreadSafe\<T> |
68 | 84 | - Objects |
69 | 85 | - BindableObject |
70 | 86 | - ThreadObject |
| 87 | +- Locks |
| 88 | + - GatedThreadLock |
| 89 | + - GateKeeper |
| 90 | + - MethodThreadLock |
| 91 | + - MultipleThreadLockManager |
| 92 | + - SingleThreadLock |
71 | 93 |
|
72 | 94 | ---- |
73 | 95 |
|
@@ -128,7 +150,7 @@ using ThunderDesign.Net.Threading.Interfaces; |
128 | 150 |
|
129 | 151 | public partial class Person : IBindableObject, INotifyPropertyChanged |
130 | 152 | { |
131 | | - public event PropertyChangedEventHandler PropertyChanged; |
| 153 | + public event PropertyChangedEventHandler? PropertyChanged; |
132 | 154 | protected readonly object _Locker = new object(); |
133 | 155 |
|
134 | 156 | public string Name |
@@ -240,7 +262,7 @@ public partial class Person |
240 | 262 | ```csharp |
241 | 263 | public partial class Person : IBindableObject, INotifyPropertyChanged |
242 | 264 | { |
243 | | - public event PropertyChangedEventHandler PropertyChanged; |
| 265 | + public event PropertyChangedEventHandler? PropertyChanged; |
244 | 266 | protected readonly object _Locker = new object(); |
245 | 267 |
|
246 | 268 | public string FirstName |
@@ -312,7 +334,7 @@ public partial class Person |
312 | 334 | ```csharp |
313 | 335 | public partial class Person : IBindableObject |
314 | 336 | { |
315 | | - public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; |
| 337 | + public event System.ComponentModel.PropertyChangedEventHandler? PropertyChanged; |
316 | 338 | protected readonly object _Locker = new object(); |
317 | 339 |
|
318 | 340 | public virtual void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = "") |
|
0 commit comments