我在项目的许多类中使用了一个密封的和公共的类对象。
public sealed class Customer {
public int Id{get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public string MiddleName {get; set;}
public string Address {get; set;}
}
public class PageRequest
{
public int CurrentPage {get; set;}
public int PerPage {get; set;}
public string SortBy {get; set;}
}
我需要创建一个新的类对象,其中包含两个类中组合的所有属性,而不是重复所有属性。以下可以将 pagerequest 属性引入新类,但我如何设法获取 Customer 类的属性。我不能继承 Customer 的属性,因为它是一个密封类。从 Customer 中删除 seal 可能不是一个好主意,因为它已被许多应用程序领域使用,即使这样我也不能同时将 Customer 和 PageRequest 作为基类。如果有更好的方法,我可以更改现有的 Customer 类
public class NewClass : PageRequest
{
}
像下面这样重复 NewClass 中的属性是否更好?
public class NewClass : PageRequest
{
public int Id{get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public string MiddleName {get; set;}
public string Address {get; set;}
}
这个新的类对象将用作新 api 获取请求查询字符串的一部分,其中用户必须提供一个或多个(名字、姓氏、地址)和 currentpage、perpage、sortby 作为输入参数,需要更好的方法来适应所有请求的参数。我想使用这个类作为获取请求(http://someendpoint&firstname=a&lastname=b¤tpage=1&perpage=10
)
public Task<PaginatedResult<SomeDto>> GetResult([FromQuery]NewClass request)
{
}