The .Net Framework introduced the concept of async/await around 10 years ago in C# 5. It has largely become the de-fact way of programming at this point. We really need to be able to program using this modern style, especially with the upcoming release of the ability to use 3rd party packages in plugins. You could do this by adding a new IAsyncPlugin interface with an 'ExecuteAsync' method. Please consider adding this.
Comments
It's honestly ridiculous that 13 years since it's introduction, Microsoft still hasn't added proper support for async to the plugins. There are multiple normal scenarios where you need to be able to call an async method in a plugin, but the current architecture forces you into running synchronously using methods that the C# team themselves scream that you should never use because of the potential to cause deadlocks.This needs to be resolved, and adding in a second plugin interface, such as IAsyncPlugin interface would be the most natural way to handle it.
Category: Unified Interface