亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 C# 中僅繼承派生類中的有限屬性

在 C# 中僅繼承派生類中的有限屬性

PHP
狐的傳說 2024-01-20 21:45:57
在 c# 中:我有 UserProfile 類(模型),其中包含以下字段:FName、LName、電子郵件、密碼如何創建一個從 UserProfile 類(模型)派生并且僅包含選定屬性的類(模型)。例如,我想從 UserProfile 類(模型)創建一個登錄類(模型),并且我只想保留電子郵件和密碼屬性。我想從 UserProfile 類(模型)創建 ForgotPassword 類(模型),我只想保留電子郵件屬性。
查看完整描述

4 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

我不知道這個層次結構是否適合您的需求和規格,但似乎您把問題倒退了。


您可以編寫尊重抽象和繼承的 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# 中,我認為不是。


查看完整回答
反對 回復 2024-01-20
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

我認為使用 AutoMapper 包適合您的需求。



查看完整回答
反對 回復 2024-01-20
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

將接口與抽象類結合使用的示例:


// Different interfaces

interface IUserData

{

    string Email;

    string Password;

}


interface IUserNameData

{

    public abstract string FName;

    public abstract string LName;

}


// Abstract class

abstract class UserProfile : IUserData

{

    public abstract string Email;

    public abstract string Password;

}



// Inherited classs

class LoginData : UserProfile

{

    // Implements IUserData

}


class UserData : UserProfile, IUserNameData

{

    // Implements IUserData and IUserNameData

}


查看完整回答
反對 回復 2024-01-20
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

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();


    }

}


查看完整回答
反對 回復 2024-01-20
  • 4 回答
  • 0 關注
  • 191 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號