我只学习C#,所以我还不知道很多,但在这种情况下,我在网上找不到好的答案。
我有这样一个班:
public class CurrencyDetails : Value<CurrencyDetails>
{
public string CurrencyCode { get; set; }
public bool InUse { get; set; }
public int DecimalPlaces { get; set; }
public static CurrencyDetails None = new CurrencyDetails { InUse = false };
}
我不明白这个方法做public static CurrencyDetails None = new CurrencyDetails { InUse = false };
是什么,这里的None
是什么???
在您的示例中,None
是CurrencyDetails
类型下的静态字段,也是CurrencyDetails
类型。
这可能是为了让您可以在适当的情况下使用CurrencyDetails.None
作为变量,这可以说比使用new CurrencyDetails { InUse = false }
更干净、更容易重构。
在.NET中,公开同一类型的静态默认值/公共值是一种常见模式,例如CancellationToken.None
。然而,它们通常是只读的,而您发布的示例不是。