używam C#, aby ustawić domyślną wartość dla wartości dziesiętnych w klasie configJak ustawić stałą wartość dziesiętną
public class ConfigSection : ConfigurationSection
{
[ConfigurationProperty("paymentInAdvanceAmount", **DefaultValue = 440m**)]
public decimal PaymentInAdvanceAmount
{
get { return (decimal)base["paymentInAdvanceAmount"]; }
set { base["paymentInAdvanceAmount"] = value; }
}
}
ale nie zostaną skompilowane i zgłasza błąd
Argument atrybut musi być stałym wyrażeniem, typeof ekspresji
znalazłem post mówi: „. to nie jest błąd«1000M»jest tylko skrótem«nowej dziesiętnego (1000)», która obejmuje wywołanie metody , co oznacza to nie jest uważana za stałą. Tylko dlatego, że kompilacji pozwala udawać, że jest to stała przez większość czasu, nie oznacza, że można przez cały czas.”
Teraz, w jaki sposób obejść go?
Zobacz http://stackoverflow.com/questions/6942803/why-c-sharp-decimals-cant-be -initialized-bez-m-sufiksu – Slugart