【发布时间】:2021-12-20 13:13:38
【问题描述】:
我有以下两种 API 方法:
[HttpPost]
public ActionResult<TransactionReadDto> TransactionGroup(TransactionGroup transactionGroup)
{
// some code goes here
}
[HttpPost]
public ActionResult<TransactionReadDto> TransactionHistory(TransactionHistory transactionHistory)
{
// some code goes here
}
以及上面的代码TransactionGroup和TransactionHistory类如下:
public class TransactionGroup
{
public string Name { get; set; }
public string Publisher { get; set; }
public string Cost { get; set; }
}
public class TransactionHistory
{
public string Name { get; set; }
public string Publisher { get; set; }
public string StartDate { get; set; }
public string EndDate { get; set; }
}
您可以看到这两个类对于Name 和Publisher 具有相同的属性(它具有比这两个更多的相同属性,这仅用于示例)。我的问题:有没有最好的方法来处理这个而不在 API 请求类中使用相同的属性?我可以使用继承吗?
如果是,有什么方法可以做到这一点?我的意思是我可以将相同的属性放入某个父类并继承让TransactionGroup 和TransactionHistory 类从该基类继承吗?这是一个好方法吗?
【问题讨论】:
-
是的,如果这两个属性的含义相同,这是一个很好的方法
-
我只想将两个类合并为一个,或者保持原样。由于 2 个字符串属性的差异,没有人创建新类。
标签: c# oop inheritance asp.net-core-webapi