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
* Getting started with Actor testability
* Added unitests against the Actor Class.
This is to verify that there are no breaking changes, and that the actor class can take any ActorStateManager.
* removed the private constructor
* resolving an issue with causing a null reference exception.
This was caused by an incorrect order of assignment in the constructor.
* Getting started with Actor testability
* Added unitests against the Actor Class.
This is to verify that there are no breaking changes, and that the actor class can take any ActorStateManager.
* removed the private constructor