[英]Understanding Get and Set Accessors
我是新手,我正在努力學習C#的基礎知識。 這可能聽起來很微不足道,可能是愚蠢的,但這是一個疑問。 在瀏覽應用程序的一個源代碼時,我在一個類中看到了一段代碼
private string fname;
public string FirstName
{
get
{
return fname
}
set
{
fname = value;
}
}
任何人都可以告訴我這是什么意思。 我知道當我們聲明一個類時,我們使用別名FirstName
訪問fname
。 如果它出於某種安全目的那么呢?
您可以在您的財產上編寫自定義邏輯。 Fe,一些驗證:
public string FirstName
{
get
{
return fname;
}
set
{
if (value.Count(s => Char.IsDigit(s)) > 0)
{
throw new Exception("Only letters allowed");
}
fname = value;
}
}
fname是一個字段,具有私有可見性,但FirstName是一個公共屬性,因此它將在類外部可見,並且可以在get和set方法中包含邏輯
它叫做Properties( MSDN文章 )。 使用它們的原因是封裝訪問某些類字段,以便將來可以根據需要輕松更改類行為。
這也等同於所謂的自動屬性,因為此時的屬性不會添加任何邏輯:
public string FirstName { get; set; }
get和set方法稱為訪問器(getters)和mutators(setter),這些方法用於訪問和改變對象的屬性,而不允許從類外部進行訪問。 請參見變量fname的訪問修飾符是private,這意味着它只能由類中的任何方法訪問。
並注意,get和set方法通常應該被賦予public訪問修飾符,該修飾符允許從任何外部類訪問該方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.