C#C
C#8mo ago
kurumi

✅ Register services based on Mediator registrated RequestClassHandlerWrapper &CommandClassHandlerWra

Hello folks 👋. I am not good at Roslyn source gens at all. Can somebody point me what should I do to make IValidationErrorFactory<> instances source generated by Roslyn. Or send me a guide lines / docs I needed for this. Appreciate ur help

When the node (record, class, struct, whatever...) which implements interface
Mediator.IRequest<Task_Manager.Common.Result<@TResponse, Task_Manager.Common.OneOfError<@TError, Task_Manager.Common.ValidationError>>>

found, it is getting it @TResponse and @TError types in generic and it's name and produce the following code:
$"""
// <auto-generated />

// using's here

namespace Task_Manager.Identity.Application;

public class ${@name}_ValidationErrorFactory
    : Task_Manager.Common.IValidationErrorFactory<Task_Manager.Common.Result<${@TResponse}, Task_Manager.Common.OneOfError<${@Terror}, Task_Manager.Common.ValidationError>>>
{
    public Task_Manager.Common.Result<${@TResponse}, Task_Manager.Common.OneOfError<${@Terror}, Task_Manager.Common.ValidationError>> Create(Task_Manager.Common.ValidationError error)
        => new Task_Manager.Common.OneOfError<${@Terror}, Task_Manager.Common.ValidationError>(error);
}
"""


Example of code which should be generated:
https://github.com/tokKurumi/Task-Manager/blob/5ec15cc628bd5d61bd98a10dd7ff6e4306c7fa80/Task%20Manager.Identity.Application/DependencyInjection.cs#L76
GitHub
Task Manager. Contribute to tokKurumi/Task-Manager development by creating an account on GitHub.
Was this page helpful?