我正在尝试在StudentController中实现ApiController,但问题是我还必须实现BaseController。
当我这样做时,它不起作用
public class StudentController : BaseController, ApiController
我该怎么做?
答案 0 :(得分:5)
让BaseController
来自ApiController
。
public class BaseController: ApiController
{
...
public class StudentController : BaseController
{
...
如果您想在同一个应用程序中使用WebApi和MVC,可能会使用不同的命名空间。
namespace Applicationrootns.Controllers
{
public class StudentController : Controller
{
....
}
}
namespace Applicationrootns.Controllers.Api
{
public class StudentController : ApiController
{
....
}
}
现在可以访问
applicaitonbase/student/
和applicaitonbase/api/student
答案 1 :(得分:1)
让你的基础控制器首先从ApiController继承,然后从你的学生控制器继承你的基础控制器。
public class BaseController : ApiController
public class StudentController : BaseController
答案 2 :(得分:1)
你做不到。 C#中不允许多重继承。其他答案为您提供了可能的解决方法,但您无法从多个基类派生。 C#只允许单个继承链。