¿Cómo escribir un getter y setter para un diccionario?

¿Cómo define un captador y configurador para tipos de datos complejos, como un diccionario?

public Dictionary<string, string> Users
{
    get
    {
        return m_Users;
    }

    set
    {
        m_Users = value;
    }
}

Esto devuelve todo el diccionario? ¿Puede escribir el configurador para ver si existe un par clave-valor específico y, si no es así, agregarlo? ¿Otra actualización del par de valores clave actual? Para la obtención, ¿puede devolver un par clave-valor específico en lugar de todo el diccionario?