最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#12中的Primary?Constructors主構(gòu)造函數(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ù)都必須通過 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ù)的最常見用途包括但不限于以下幾個方面:

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

下面分別介紹。

初始化基類

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

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

派生類如沒主構(gòu)造函數(shù),可以在派生類中創(chuàng)建一個構(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>

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

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

簡化依賴注入

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

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

總的來說,主構(gòu)造函數(shù)簡化了我們的代碼編寫,一旦使用了主構(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

新蔡县| 夹江县| 凤山县| 扶绥县| 沧州市| 青冈县| 礼泉县| 海安县| 陆河县| 万载县| 阿拉善盟| 东宁县| 东阳市| 渭源县| 广水市| 翼城县| 手机| 长寿区| 苏尼特左旗| 和田县| 岚皋县| 弋阳县| 永靖县| 陆河县| 广州市| 岳阳市| 那曲县| 维西| 武安市| 公主岭市| 张家界市| 商城县| 祁连县| 罗平县| 邹城市| 施秉县| 仁怀市| 衡东县| 墨竹工卡县| 怀柔区| 紫阳县|