You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently came across the need to make layout serialization async.
While this was quite an unpleasent experience, i got it to work....
Not, the reason i created this ticket is the following:
I plan on creating a PR that actually provides that capability to "the masses" and look for advice on what exactly to change.
On my journy to making this async, i found numerous of interfaces encapsulated internal, making the approach i chose for doing things async utilize reflection as the required changes where requiring replacing the event-callback system with a method-callback system (and making everything async down to that point.)
it would be great to have an async version for serialization.
Splitting the method into multiple parts sounds good as it could be better testable with unit test and easier to maintain(?).
As far as interfaces go I am not against making them public - maybe this will also help us to identify new functionalities that we can base on this public interfaces?
I recently came across the need to make layout serialization async.
While this was quite an unpleasent experience, i got it to work....
Not, the reason i created this ticket is the following:
I plan on creating a PR that actually provides that capability to "the masses" and look for advice on what exactly to change.
On my journy to making this async, i found numerous of interfaces encapsulated internal, making the approach i chose for doing things async utilize reflection as the required changes where requiring replacing the event-callback system with a method-callback system (and making everything async down to that point.)
To be more precise, this code:
AvalonDock/source/Components/AvalonDock/Layout/Serialization/LayoutSerializer.cs
Lines 64 to 70 in df288d6
is a mess right now since all of it requires internally encapsulated stuff:
AvalonDock/source/Components/AvalonDock/Layout/ILayoutPaneSerializable.cs
Lines 13 to 17 in df288d6
AvalonDock/source/Components/AvalonDock/Layout/ILayoutPreviousContainer.cs
Lines 12 to 17 in df288d6
To come to an end (TL;DR):
Also regarding an async approach, the question is also wether to utilize a single callback method or something else here too?
Thanks for your time,
X39
The text was updated successfully, but these errors were encountered: