小编Rol*_*ies的帖子

为什么IsLiteral为十进制返回false?

以下程序将打印字段以及是否使用常量 IsLiteral

public static class Program
{
    public static void Main(string[] args)
    {
        foreach (var field in typeof(Program).GetFields())
        {
            System.Console.WriteLine(field.Name + " IsLiteral: " + field.IsLiteral);
        }

        System.Console.ReadLine();
    }

    public const decimal DecimalConstant = 99M;
    public const string StringConstant = "StringConstant";
    public const int IntConstant = 1;
    public const double DoubleConstant = 1D;
}
Run Code Online (Sandbox Code Playgroud)

它适用于所有类型,除了decimalis将返回false.

谁能解释这种行为?是否有更好的方法来查看字段是否恒定?

c# reflection const decimal

10
推荐指数
1
解决办法
144
查看次数

标签 统计

c# ×1

const ×1

decimal ×1

reflection ×1