在 C# 中仅继承派生类中的有限属性

在 c# 中:

我有 UserProfile 类(模型),其中包含以下字段:FName、LName、电子邮件、密码

如何创建一个从 UserProfile 类(模型)派生并且仅包含选定属性的类(模型)。

例如,我想从 UserProfile 类(模型)创建一个登录类(模型),并且我只想保留电子邮件和密码属性。

我想从 UserProfile 类(模型)创建 ForgotPassword 类(模型),我只想保留电子邮件属性。


狐的传说
浏览 100回答 4
4回答

30秒到达战场

我不知道这个层次结构是否适合您的需求和规格,但似乎您把问题倒退了。您可以编写尊重抽象和继承的 OOP 原则(类名乍一看不是很相关):public class ForgotPassword{  public string Email;}public class Login : ForgotPassword{  public string Password;}public class UserProfile : Login{  public string FName;  public string LName;}不知道能不能做自己想做的事...在 C# 中,我认为不是。

一只萌萌小番薯

我认为使用 AutoMapper 包适合您的需求。

慕田峪4524236

将接口与抽象类结合使用的示例:// Different interfacesinterface IUserData{    string Email;    string Password;}interface IUserNameData{    public abstract string FName;    public abstract string LName;}// Abstract classabstract class UserProfile : IUserData{    public abstract string Email;    public abstract string Password;}// Inherited classsclass LoginData : UserProfile{    // Implements IUserData}class UserData : UserProfile, IUserNameData{    // Implements IUserData and IUserNameData}

守着一只汪

class ParentA { public class AB { public void A_AB() { Console.WriteLine("我是 A 的 AB"); } } public class AC { public void A_AC() { Console.WriteLine("我是 A 的 AC"); } } } B 类:parentA.AB {}class C : parentA.AC{}class Program{    static void Main(string[] args)    {        C c = new C();        B b = new B();        c.A_AC();        b.A_AB();    }}
打开App,查看更多内容
随时随地看视频慕课网APP