我有很多这样的课程。它们都有两个共同点。他们声明了一个称为Context的私有变量,并且有一种方法可以消除该私有变量。
有没有办法创建一个我可以从中继承的中间类,该中间类具有声明变量和dispose方法的代码?我认为这很容易做到,但是我不确定如何声明变量和方法。他们应该是私人的吗?
public class TypeController : ApiController
{
private Context db = new Context();
[Route("GetMapData")]
public async Task<IHttpActionResult> GetMapData()
{
var result = await db.Types
.Select(e => new
{
Id = e.TypeId,
Name = e.Name
})
.ToListAsync();
return Ok(result);
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
您可以创建一个做到这一点的基类,然后将db
变量声明为protected
public class BaseController : ApiController
{
protected Context db = new Context();
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
public class TypeController : BaseController
{
[Route("GetMapData")]
public async Task<IHttpActionResult> GetMapData()
{
var result = await db.Types
.Select(e => new
{
Id = e.TypeId,
Name = e.Name
})
.ToListAsync();
return Ok(result);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句