欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#12中的Primary?Constructors主構(gòu)造函數(shù)詳解

 更新時(shí)間:2023年11月17日 08:58:06   作者:chester·chen  
主構(gòu)造函數(shù)把參數(shù)添加到class與record的類聲明中就是主構(gòu)造函數(shù),這篇文章主要介紹了C#12中的Primary?Constructors 主構(gòu)造函數(shù),需要的朋友可以參考下

什么是主構(gòu)造函數(shù)

把參數(shù)添加到class與record的類聲明中就是主構(gòu)造函數(shù)。例如

class Person(string name)
{
    private string _name = name;
}

這種寫法與以下代碼寫法一樣

class Person
{
    private string _name;
    public Person(string name)
    {
        _name = name;
    }
}

需要注意的是,類的所有其他構(gòu)造函數(shù)都必須通過(guò) this() 構(gòu)造函數(shù)調(diào)用直接或間接調(diào)用主構(gòu)造函數(shù)。

class Person(string name)
{
    public Person(int age,string name):this(name)
    {
    }
}

主構(gòu)造函數(shù)參數(shù)的最常見(jiàn)用途包括但不限于以下幾個(gè)方面:

  • 初始化基類。
  • 初始化成員字段或?qū)傩浴?/li>
  • 簡(jiǎn)化依賴注入

下面分別介紹。

初始化基類

可以從派生類的主構(gòu)造函數(shù)調(diào)用基類的主構(gòu)造函數(shù)。 這是編寫必須調(diào)用基類中主構(gòu)造函數(shù)的派生類的最簡(jiǎn)單方法。

class Person(string name)
{
    private string _name = name;
}
class Man(string name):Person(name)
{
}

派生類如沒(méi)主構(gòu)造函數(shù),可以在派生類中創(chuàng)建一個(gè)構(gòu)造函數(shù),用于調(diào)用基類的主構(gòu)造函數(shù)

class Person(string name)
{
    private string _name = name;
}
class Woman : Person
{
    public Woman(string name) : base(name)
    {
    }
}

初始化成員字段或?qū)傩?/h2>

以下代碼,通過(guò)主構(gòu)造函數(shù)初始化了一個(gè)字段:

class Person(string name)
{
    private string _name = name;
}

簡(jiǎn)化依賴注入

主構(gòu)造函數(shù)的另一個(gè)常見(jiàn)用途是指定依賴項(xiàng)注入的參數(shù)。 下面的代碼創(chuàng)建了一個(gè)簡(jiǎn)單的控制器,使用時(shí)需要有一個(gè)服務(wù)接口:

public interface IService
{
    Distance GetDistance();
}
public class ExampleController(IService service) : ControllerBase
{
    [HttpGet]
    public ActionResult<Distance> Get()
    {
        return service.GetDistance();
    }
}

總的來(lái)說(shuō),主構(gòu)造函數(shù)簡(jiǎn)化了我們的代碼編寫,一旦使用了主構(gòu)造函數(shù),主構(gòu)造函數(shù)參數(shù)是必須調(diào)用的構(gòu)造函數(shù)的參數(shù)。

到此這篇關(guān)于C#12中的Primary Constructors(主構(gòu)造函數(shù))的文章就介紹到這了,更多相關(guān)C#12中的Primary Constructors(主構(gòu)造函數(shù))內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# 常用公共方法

    C# 常用公共方法

    這篇文章主要為大家詳細(xì)介紹了C# 常用公共方法,分享給大家,供大家參考,感興趣的小伙伴們可以參考一下
    2016-07-07
  • C# 獲取屬性名的方法

    C# 獲取屬性名的方法

    C# 獲取屬性名的方法實(shí)例,需要的朋友可以參考一下
    2013-03-03
  • C#實(shí)現(xiàn)Dictionary字典賦值的方法

    C#實(shí)現(xiàn)Dictionary字典賦值的方法

    本文主要介紹了C#實(shí)現(xiàn)Dictionary字典賦值的方法,如同java中的Hasttable,C#里面有Dictionary,可以實(shí)現(xiàn)很高效的鍵值對(duì)操作。感興趣的可以了解一下
    2021-05-05
  • C#實(shí)現(xiàn)簡(jiǎn)單超市收銀系統(tǒng)

    C#實(shí)現(xiàn)簡(jiǎn)單超市收銀系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單超市收銀系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#實(shí)現(xiàn)銀行家算法

    C#實(shí)現(xiàn)銀行家算法

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)銀行家算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • c#實(shí)現(xiàn)將pdf轉(zhuǎn)文本的示例分享

    c#實(shí)現(xiàn)將pdf轉(zhuǎn)文本的示例分享

    這篇文章主要介紹了c#實(shí)現(xiàn)將pdf轉(zhuǎn)文本的示例,需要的朋友可以參考下
    2014-03-03
  • C#訪問(wèn)網(wǎng)絡(luò)共享文件夾的方法

    C#訪問(wèn)網(wǎng)絡(luò)共享文件夾的方法

    這篇文章主要為大家詳細(xì)介紹了C#訪問(wèn)網(wǎng)絡(luò)共享文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • c#關(guān)于非托管內(nèi)存的釋放問(wèn)題及解讀

    c#關(guān)于非托管內(nèi)存的釋放問(wèn)題及解讀

    這篇文章主要介紹了c#關(guān)于非托管內(nèi)存的釋放問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 如何利用C#打印九九乘法表

    如何利用C#打印九九乘法表

    這篇文章主要給大家介紹了關(guān)于如何利用C#打印九九乘法表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • c# SendMail發(fā)送郵件實(shí)例代碼

    c# SendMail發(fā)送郵件實(shí)例代碼

    這篇文章介紹了c# SendMail發(fā)送郵件實(shí)例代碼,有需要的朋友可以參考一下
    2013-09-09

最新評(píng)論