C# 的縮寫寫法

範例:

public class DatabaseContext : IDisposable
{
    private readonly IDbConnection _connection;

    public DatabaseContext(string connectionString)
    {
        _connection = new SqlConnection(connectionString);
    }

    public IDbConnection Connection => _connection;

    public void Dispose()
    {
        _connection?.Dispose();
    }
}

上面的 public IDbConnection Connection => _connection; 這段 C# 程式碼是以表達式主體成員(expression-bodied member)定義只讀屬性,等同於:

public IDbConnection Connection {
    get {
        return _connection;
    }
}

這種寫法可以簡潔地公開只讀屬性。外部程式碼能取得類別的私有欄位,但不能透過這個屬性修改它。

Author image
關於 Richard Zheng
About me 喜歡爬山,瑜伽,溜冰,喜歡新奇的事,最喜歡的還是寫程式帶來的成就感,對於資訊會不斷的出現新事物也能抱持好奇與熱忱。近期開始將學習的心得寫在Blog,發現思路更清晰也加深了記憶。 紙上得來終覺淺,絕知此事要躬行