用C#扩展类

时间:2017-10-30 10:31:09

标签: c# json asp.net-web-api asp.net-core asp.net-core-webapi

我有一个ASP.NET核心应用程序,一个WebAPI控制器,向我发送一个[Produces("application/json")] [Route("api/Record")] public class RecordController : Controller { // GET: api/Record [HttpGet] public async Task<List<Record>> Get() { var records = await repository.GetListAsync<Record>(); //foreach (var record in records) { // record.IsNew = checkIfNew(record); //} return records; } 个对象的JSON数组:

Record

我通过客户端的AngularJS在数组中显示Record列表。

新的需求是突出显示用户的新记录。所以我需要计算在我的记录列表中添加一个额外的布尔“IsNew”。

我怎样才能为该函数扩展Record并添加到已发送的JSON我的计算“IsNew”布尔值,而不修改初始{{1}}类?

1 个答案:

答案 0 :(得分:0)

根据我的经验,扩展现有对象并使其更广泛,而不是开始创建许多额外类型来表示特定实例。如果您控制了“Record”类,那么只需在其上添加一个名为“IsNew”的新属性,并在此操作中将其设置为true。

如果您不想这样做,那么您必须执行以下操作:

1)使用额外属性创建一个新类

2)将所有属性从一个映射到另一个

3)将返回类型从“记录”更改为“NewRecord”

所有这一切都是个坏主意。