C# properties 在實(shí)際項(xiàng)目中有著廣泛的應(yīng)用,它們提供了一種簡(jiǎn)單而有效的方式來封裝數(shù)據(jù),并控制對(duì)數(shù)據(jù)的訪問。以下是一些實(shí)際項(xiàng)目中的應(yīng)用案例:
用戶信息管理: 在一個(gè)用戶管理系統(tǒng)中,可以使用 properties 來封裝用戶的屬性,如姓名、年齡、電子郵件地址等。這樣,當(dāng)需要獲取或設(shè)置用戶信息時(shí),只需通過調(diào)用相應(yīng)的 property 即可,而無需直接訪問類的內(nèi)部字段。
public class User
{
private string _name;
private int _age;
private string _email;
public string Name
{
get { return _name; }
set { _name = value; }
}
public int Age
{
get { return _age; }
set { _age = value; }
}
public string Email
{
get { return _email; }
set { _email = value; }
}
}
商品信息管理: 在一個(gè)電子商務(wù)系統(tǒng)中,可以使用 properties 來封裝商品的屬性,如名稱、價(jià)格、描述、庫存數(shù)量等。這些屬性可以在商品類中定義,并通過 public 訪問修飾符提供給外部代碼使用。
public class Product
{
private string _name;
private decimal _price;
private string _description;
private int _stockQuantity;
public string Name
{
get { return _name; }
set { _name = value; }
}
public decimal Price
{
get { return _price; }
set { _price = value; }
}
public string Description
{
get { return _description; }
set { _description = value; }
}
public int StockQuantity
{
get { return _stockQuantity; }
set { _stockQuantity = value; }
}
}
數(shù)據(jù)庫連接設(shè)置: 在一個(gè)數(shù)據(jù)庫應(yīng)用程序中,可以使用 properties 來封裝數(shù)據(jù)庫連接的配置信息,如服務(wù)器地址、端口號(hào)、數(shù)據(jù)庫名稱、用戶名和密碼等。這些屬性可以在數(shù)據(jù)庫連接類中定義,并在需要連接數(shù)據(jù)庫時(shí)通過調(diào)用相應(yīng)的 property 來獲取連接字符串。
public class DatabaseConnection
{
private string _serverAddress;
private int _portNumber;
private string _databaseName;
private string _userName;
private string _password;
public string ServerAddress
{
get { return _serverAddress; }
set { _serverAddress = value; }
}
public int PortNumber
{
get { return _portNumber; }
set { _portNumber = value; }
}
public string DatabaseName
{
get { return _databaseName; }
set { _databaseName = value; }
}
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
public string Password
{
get { return _password; }
set { _password = value; }
}
public string ConnectionString
{
get
{
return $"Server={_serverAddress},{_portNumber};Database={_databaseName};User Id={_userName};Password={_password};";
}
}
}
以上案例展示了 properties 在不同場(chǎng)景下的應(yīng)用,它們提供了一種簡(jiǎn)單而靈活的方式來封裝和管理數(shù)據(jù)。