We've had a list of linting-related messages piling up for a while now.
This change bulk-applies these suggestions with usually relate to
simplification or use or newer language features like ??=
The only changes I did manually here are:
Removing some usage of Task.GetAwaiter().GetResult() where it was
just laziness
Removing some dead code in methods and parameters of internal APIs.
* Implement dependency injection for Actors
Fixes: #171
This change allows Actors to accept dependency-injected services through
constructor parameters.
There are numerous breaking changes in this PR that are visible to user
code. In most cases these are simplifications.
For example the Actor base class accepted 3 constructor parameters,
which meant that every subclass (every actor type) also had 3 constructor
parameters. This isn't fun and becomes way less fun now that users can
add their own constructor parameters in a meaningful way.
As another example, we had multiple places where "runtime options" lived
that had different interaction patterns. Now there's a single options
type and you interactive with it through UseActors(...).
* address PR feedback
* React to API change
* Updated samples/Actor to show Timer and Reminder functionality
* Updated ActorClient. Changed deregistration of TImer and Reminder at the end of the program
Co-authored-by: Leon Mai <lemai@microsoft.com>
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>