Why do i need to pass in the generics here?
Hey,
I have this code
and i want to use to probably like this
But it says i cannot the determine the types... why not?! they are clearly given..
5 Replies
you will have to give the exact error
The error message is
IGitCommandHandler.ExecuteAsync
is a method you wrote?
How is it supposed to infer TOutput
? It doesn't appear as one of the parameters, so it can't use the type of a parameter to figure it outSorry for the late response. Yes, it is. Well I thought it could infer it because I write
Author author = ...
, of course it cannot when I write var author = ...
.
My final design idea was to have a lot of git command classes that takes a specific input parameter and produces an output, so i could use it like
Author author = await gitCommandHandler.ExecuteAsync(new GitGetAuthorCommandInput())
or
await gitCommandHandler.ExecuteAsync(new GitSetAuthorCommandInput{ Name = "ChangedName" });
If i cannot get this done I already have some ideas in mind 😄
transition to a big static class "GitCommands" that has all those methods... or maybe i will create a lot of domain objects (Repository, Branch, Commit, Tag, etc.) that has the logic built-in (CreateBranch, AddLocalChanges, ResetCommit, etc.)Generic arguments aren't inferred from the target type I'm afraid