【发布时间】:2023-08-06 09:54:01
【问题描述】:
我正在使用 ASP.Net Web API 2 并想创建一些复杂的输入参数类。
我的图书馆中有课程
public class GrandParent
{
public int Id {get;set;}
public string GrandParentName {get;set;}
}
public class Parent : GrandParent
{
public string ParentName {get;set;}
}
现在我只需要子类中的父类属性,我正在这样做
public class Child : Parent
{
public string ChildName {get;set;}
}
当我创建 Child 类的对象时,我只想要两个属性,它们是
Child objChild = new Child();
objChild.ParentName;
objChild.ChildName;
我不想要 objChild 的 GrandParentName 属性。有什么办法可以跳过继承结构中的祖父类,因为我想将这个类作为 API 操作参数传递。
我觉得这里的 C# 缺少多重继承。
【问题讨论】:
-
我会问自己,孩子有父母还是是父母。
-
我建议您解释示例名称之外的实际域,这是一个设计问题,而不是语言问题,通过称它们为孩子、父母和祖父母,您强迫自己认为是这些对象之间的关系,但事实是您当前的问题表明它们可能根本不是“血缘关系”。
-
@Ernesto,我需要不同的类组合将它们传递给 api 参数。我有“祖父母”和“父母”,现在我只需要父类属性,我不想创建另一个父类,或复制子类中的所有属性。在我的项目中,控制器中的动作太多,每个动作都需要一组不同的参数。我试图通过使用继承来重用参数来解决这个问题。
标签: c# asp.net asp.net-web-api