public void Executar()
        {
            string Json = "{\"De\": \"Everson Souza\", " +
            "\"Para\": \"Dr. Paulo\"}";
            dynamic mensagem = JsonConvert.DeserializeObject<ExpandoObject>(Json);
            mensagem.Texto = "Ola grande mestre " + mensagem.De;
            EnviarMensagem(mensagem);
        }
        public void EnviarMensagem(dynamic msg)
        {
            System.Console.WriteLine($"De: {msg.De}");
            System.Console.WriteLine($"Para: {msg.Para}");
            System.Console.WriteLine($"Texto: {msg.Texto}");
            System.Console.WriteLine();
        }
    }
    internal class Mensagem
    {
        public string De { get; set; }
        public string Para { get; set; }
        public string Texto { get; set; }
    }porque nesse trecho aqui abaixo não tem nenhuma ligação com a classe mensagem:
{
            string Json = "{\"De\": \"Everson Souza\", " +
            "\"Para\": \"Dr. Paulo\"}";
            dynamic mensagem = JsonConvert.DeserializeObject<ExpandoObject>(Json);
            mensagem.Texto = "Ola grande mestre " + mensagem.De;
            EnviarMensagem(mensagem);
        }
        public void EnviarMensagem(dynamic msg)
        {
            System.Console.WriteLine($"De: {msg.De}");
            System.Console.WriteLine($"Para: {msg.Para}");
            System.Console.WriteLine($"Texto: {msg.Texto}");
            System.Console.WriteLine();
        }