"this" keyword required?
In the following scenario, keyword this is required; I assume this is because you have
two generic methods with both TController : Controller and TController : class.
This is annoying. Why do you need the TController: class version? Am I missing something?
using Microsoft.AspNetCore.Mvc;
namespace MyNamespace
{
public class HomeController
: Controller
{
public IActionResult Index()
{
return this.RedirectToAction<OtherController>(c => c.Index());
}
}
}
Additionally, it'd be great if your extension methods lived under another namespace, and not the official Microsoft.AspNetCore.Mvc, mainly for clarity and extensibility. For example, to fix the above I thought of making a wrapper class in my namespace so that only the methods with TController : Controller are "locatable" in my code, but since I obviously need the official Microsoft.AspNetCore.Mvc namespace, then I get method name clashes. What do you think?
@jorgeyanesdiez Hi, the this keyword is required by the C# language when your extension method is called from the extended class itself. I do not know any options to remove it.
As for the namespace, I will think about it. Thank you for the suggestion! 👍