Sergio Pedri
d18998a054
Add parameter null validation to DependencyInjection API
2021-12-14 10:33:06 +01:00
Sergio Pedri
9af66c4a8d
Add parameter null validation to ComponentModel APIs
2021-12-14 10:33:06 +01:00
Sergio Pedri
796c1e218b
Add polyfill for ArgumentNullException.ThrowIfNull
2021-12-14 10:33:05 +01:00
Sergio Pedri
c010ca5f11
Minor code refactoring
2021-12-14 10:33:05 +01:00
Sergio Pedri
216b403759
Add more documentation to unsupported paths
2021-12-13 13:36:29 +01:00
Sergio Pedri
aa560fe256
Break down documentation into paragraphs
2021-12-13 13:36:29 +01:00
Sergio Pedri
56fb755f14
Fix a bug in StrongReferenceMessenger.IsRegistered
2021-12-13 13:36:29 +01:00
Sergio Pedri
3d59fd019b
Remove unnecessary generic type parameters
2021-12-13 13:36:29 +01:00
Sergio Pedri
fa7042fd80
Update StrongReferenceMessenger internal documentation
2021-12-13 13:36:28 +01:00
Sergio Pedri
8b2cad51f8
Add Unit type specialization to StrongReferenceMessenger
2021-12-13 13:36:28 +01:00
Sergio Pedri
6b02f86f0a
Enable IRecipient<TMessage> optimization for StrongReferenceMessenger
2021-12-13 13:36:28 +01:00
Sergio Pedri
48ae66cdd7
Use MessageHandlerDispatcher handlers in StrongReferenceMessenger
2021-12-13 13:36:28 +01:00
Sergio Pedri
96dee08dc6
Merge pull request #48 from CommunityToolkit/dev/appcontext-switches
...
Enable INotifyPropertyChanging AppContext switch
2021-12-13 13:35:48 +01:00
Sergio Pedri
32a27ee157
Merge pull request #44 from CommunityToolkit/dev/weak-messenger-opts
...
Optimize WeakReferenceMessenger
2021-12-10 01:12:28 +01:00
Sergio Pedri
b26db77f48
Enable IsINotifyPropertyChangingDisabled switch in ObservableObject
2021-12-10 01:03:19 +01:00
Sergio Pedri
ffaacbad9f
Add Configuration type
2021-12-10 01:03:19 +01:00
Sergio Pedri
75c51164b3
Add concurrency control setting to [ICommand] attribute
2021-12-10 00:08:12 +01:00
Sergio Pedri
a6160f2126
Remove unnecessary async state machine allocations
2021-12-10 00:02:22 +01:00
Sergio Pedri
01d7102ea9
Add cancellation support to AsyncRelayCommand<T>
2021-12-10 00:02:22 +01:00
Sergio Pedri
03989131d1
Add cancellation support to AsyncRelayCommand
2021-12-10 00:02:22 +01:00
Sergio Pedri
5dc526aa10
Add [AlsoNotifyCanExecuteFor] attribute type
2021-12-09 21:01:30 +01:00
Sergio Pedri
7046476d51
Minor codegen improvements
...
Removed type checks from guarded devirtualization when broadcasting
2021-12-09 11:35:26 +01:00
Sergio Pedri
2b690d7f60
Tweak StrongReferenceMessenger.Send to remove null suppression
2021-12-09 11:01:17 +01:00
Sergio Pedri
1b66760d67
Add initial support for [ICommand] CanExecute property
2021-12-09 10:49:58 +01:00
Sergio Pedri
6cb7e571d4
Add more comments and XML docs
2021-12-02 18:04:04 +01:00
Sergio Pedri
27ed92db88
Skip array covariance checks in ArrayPoolBufferWriter<T>
2021-12-02 18:04:04 +01:00
Sergio Pedri
39388b1c1e
Optimize ConditionalWeakTable2<,>.Enumerator
...
Also done some refactoring to streamline code across targets
2021-12-02 18:04:04 +01:00
Sergio Pedri
75869de313
Optimize WeakReferenceMessenger broadcast loop
2021-12-02 18:04:04 +01:00
Sergio Pedri
96606f208d
Enable fast paths for IRecipient<TMessage> recipients
2021-12-02 18:04:04 +01:00
Sergio Pedri
c0f1704aed
Remove Unsafe.As<T>(object) delegate type aliasing
2021-12-02 18:04:04 +01:00
Sergio Pedri
416653a2aa
Enable Unit type specialization for WeakReferenceMessenger
2021-12-02 18:04:03 +01:00
Sergio Pedri
316557b683
Fix a bug in Dictionary2<TKey, TValue>.Enumerator.MoveNext()
2021-12-02 18:04:03 +01:00
Sergio Pedri
dd2a827694
Switch messengers to new dictionary, code refactoring
2021-12-02 18:04:03 +01:00
Sergio Pedri
622be37d5c
Specialize Dictionary<TKey, TValue> for the messenger types
2021-12-02 18:04:03 +01:00
Sergio Pedri
7c2bc7f0ed
Port Dictionary<TKey, TValue> from .NET 6
2021-12-02 18:04:03 +01:00
Sergio Pedri
a86eb44474
Hoist enumeration lock for custom conditional table
2021-12-02 18:04:03 +01:00
Sergio Pedri
a6f5dc5ff2
Remove tracking of multiple active enumerators
2021-12-02 18:04:03 +01:00
Sergio Pedri
c2a8731452
Switch .NET table GetEnumerator() to ref struct enumerator
2021-12-02 18:04:02 +01:00
Sergio Pedri
03032c7a1a
Moved .NET Stadard 2.0 ConditionalWeakTable type
2021-12-02 18:04:02 +01:00
Sergio Pedri
65e6746c57
Initial refactor pass for .NET 6 ConditionalWeakTable
2021-12-02 18:04:02 +01:00
Sergio Pedri
aaecb7176b
Port ConditionalWeakTable<TKey, TValue> from .NET 6
2021-12-02 18:04:02 +01:00
Sergio Pedri
35b034fc62
Fix StrongReferenceMessenger.Unregister, add concurrent unit tests
2021-11-29 14:21:08 +01:00
Sergio Pedri
32c23450f9
Fix some bugs in StrongReferenceMessenger.Unregister[All] APIs
2021-11-29 13:31:49 +01:00
Sergio Pedri
1910995151
Update CommunityToolkit.Mvvm to .NET 6
2021-11-22 17:37:34 +01:00
Sergio Pedri
e2b336184f
Fix app domain unloading issue on .NET Framework
2021-11-02 02:36:45 +01:00
Sergio Pedri
6afdd81742
Refactor multiline variable declarations
2021-11-01 23:42:45 +01:00
Sergio Pedri
51c7a67c20
More code style improvements and tweaks
...
- Remove unused namespaces
- Remove unused attributes
- Remove unnecessary #nullable enable directives
- Sort using directives
- Simplify names
2021-11-01 22:29:46 +01:00
Sergio Pedri
c176080d37
Switch whole solution to file-scoped namespaces
2021-11-01 20:46:46 +01:00
Sergio Pedri
7a2295b03c
Update some code style rules
...
In particular:
- Use explicit types everywhere to improve clarity
- Use target-typed new() expression when target is explicit
- Use explicit discard for value-returning statements
2021-11-01 20:34:00 +01:00
Sergio Pedri
11ab330e69
Enable nullability annotations in the entire solution
2021-11-01 19:27:55 +01:00
Sergio Pedri
768a9d39ed
Streamline HighPerformance package project properties
2021-11-01 18:47:15 +01:00
Sergio Pedri
20f8ed1a59
Rename packages away from "Windows" name
2021-11-01 17:26:52 +01:00
Sergio Pedri
8b7c87284b
Update namespaces from Microsoft.Toolkit to CommunityToolkit
2021-11-01 17:22:05 +01:00
Sergio Pedri
b498321331
Rename folders/projects from Microsoft.Toolkit to CommunityToolkit
2021-11-01 17:07:47 +01:00