My Question
Is it possible to somehow access the type argument T
of a generic class from a method attribute that is attached to a method in this generic class?
An Example
For example say I have a generic Controller MyBaseController
handling a certain resource type T
that is extended by a child controller MyChildController
.
public class MyChildController : MyBaseController<BlogPost>
{
// ...
}
Now I am using Swagger to document my API, more specifically Swashbuckle, hence, I am annotating my action with ProducesResponseType to specifiy the return type of the action. This where it get's complicated because ProducesResponseType
expects a Type
argument denoting the class of the value returned by the action.
public abstract class MyBaseController<T> : Controller where T : IResource
{
[HttpGet, ProducesResponseType(T)] // <-- DOESN'T WORK!
public async Task<IActionResult> doSomething()
{
// ...
}
}
In the example above I need T
to somehow resolve to typeof(BlogPost)
Any ideas, or is this impossible?
Aucun commentaire:
Enregistrer un commentaire