1

このルールは C# に適用できますか?

明示的に値を設定せずに列挙型を使用しようとすると、コンパイラは「割り当てられていないローカル変数の使用」というエラーを出しますか?

列挙型のデフォルト値を使用できないため、FxCop ルールの有効性が問われています。

public enum TraceLevel
{
    Off = 0,
    Error = 1,
    Warning = 2,
    Info = 3,
    Verbose = 4
}

class Program
{
    static void Main(string[] args)
    {
        TraceLevel traceLevelOptions;
        Console.WriteLine(traceLevelOptions.ToString());
        Console.ReadLine();
    }
}

正しい答えを得た後に更新されました。次のコードが機能するはずです。

public class SerializeMe
{
    public int Id { get; set; }
    public TraceLevel MyTrace { get; set; }
}

public enum TraceLevel
{
    Off = 0,
    Error = 1,
    Warning = 2,
    Info = 3,
    Verbose = 4
}

class Program
{
    static void Main(string[] args)
    {
        SerializeMe serializeMe = new SerializeMe();
        Console.WriteLine(serializeMe.MyTrace.ToString());
        Console.ReadLine();
    }
}
4

2 に答える 2