Tôi đang sử dụng C# để đặt một giá trị mặc định cho một giá trị thập phân trong lớp cấu hình của tôiLàm thế nào để thiết lập một giá trị thập phân liên tục
public class ConfigSection : ConfigurationSection
{
[ConfigurationProperty("paymentInAdvanceAmount", **DefaultValue = 440m**)]
public decimal PaymentInAdvanceAmount
{
get { return (decimal)base["paymentInAdvanceAmount"]; }
set { base["paymentInAdvanceAmount"] = value; }
}
}
nhưng nó sẽ không được biên dịch và ném một lỗi
một cuộc tranh cãi thuộc tính phải là một biểu thức hằng số, typeof biểu
tôi tìm thấy một bài nói: ". đó không phải là lỗi '1000M' chỉ đơn thuần là viết tắt cho 'Decimal mới (1000)', trong đó bao gồm một phương pháp gọi , có nghĩa là nó không được coi là một hằng số. Chỉ vì các biên dịch cho phép bạn giả vờ đó là một phần lớn liên tục của thời điểm đó, không có nghĩa là bạn có thể tất cả thời gian."
Bây giờ, làm thế nào để workaround nó?
Xem http://stackoverflow.com/questions/6942803/why-c-sharp-decimals-cant-be -initialized-without-the-m-suffix – Slugart