¿Cómo inicializar ReadOnlyDictionary?

Tengo un diccionario inmutable que se expone en una clase.

Actualmente mi código se ve así

using System.Collections.Generic;
using System.Collections.ObjectModel;

public class FooClass
{
    private static ReadOnlyDictionary<string, byte> _validRevisions 
        = new ReadOnlyDictionary<string, byte>(
            new Dictionary<string, byte>() { 
                { "1.0", 0x00 },
                { "1.1", 0x01 },
                { "1.2", 0x02 },
                { "1.3", 0x03 }
            } );

    public static ReadOnlyDictionary<string, byte> ValidRevisions => _validRevisions;

    // other FooClass contents...
}

He usado el campo de respaldo_validRevisions ya que no pude encontrar una mejor manera de crear una propiedad de diccionario constante compartida. ¿Hay alguna forma más ordenada de manejar esto o tal vez debería hacer público el campo?

Mi pregunta principal es si hay una forma más corta de inicializar el_validRevisions campo en sí? Crear un diccionario en línea para pasarlo a un diccionario (que resulta ser de solo lectura) parece un poco ... de olor a código. ¿Lo es? ¿Hay una mejor manera?

EDITAR: una cosa más sobre el ROD que acabo de notar, no hay métodos para verificar si contiene un valor dado ... ¿hay alguna razón para eso relacionado con su 'solo lectura?

Respuestas a la pregunta(2)

Su respuesta a la pregunta