我一直在尋找通過https://github.com/VerbalExpressions/CSharpVerbalExpressions我在那裏發現,有一類VerbalExpressions和靜態屬性DefaultExpression爲什麼公共靜態屬性返回一個對象?
public class VerbalExpressions
{
public static VerbalExpressions DefaultExpression
{
get { return new VerbalExpressions(); }
}
}
其目的在於創建像
VerbalExpressions verbEx = VerbalExpressions.DefaultExpression;
我是新手C#程序員,我想了解,他們爲什麼要創建這樣的對象?我猜測他們沒有實現Singleton模式。
這種類型的實現的原因是什麼?任何人都可以幫忙嗎?
It's單例模式,you're權的不正確使用。但是,每次訪問該屬性時都會得到一個新實例。 – HimBromBeere
這是一個靜態方法(訪問器),在您創建實例的靜態方法中,您期望應該發生什麼? – Vladimir
@HimBromBeere是對的,但我想指出(至少IMO)最好是將這樣的邏輯實現爲方法而不是屬性,並給它一個健談的名字,比如'CreateX'。對我而言,一個屬性表明每次訪問它時都是同一個對象。 –