Ho questo codice:

codice:
using System;
using System.Drawing;


namespace ConsoleApplication1
{
    class Persona
    {
        protected string Nome = "MioNome";
        protected string Cognome = "MioCognome";
    }
    class Dati : Persona
    {
        public string NickName = "MioNick";
    }

    class MainEntryPoint
    {
        static void Main()
        {
            Dati estrai = new Dati();
            Console.WriteLine("NOME: " + estrai.Nome);
        }
    }
}
Ora, i membri protected dovrebbero essere accessibili sia all'interno della classe stessa, che da quelle derivate, ma perchè allora questo codice non va e mi dice che Nome è inaccessibile a causa del livello di protezione??