Cómo usar delegados de manera correcta / Comprender delegados

uso - C # (.Net Framework 4.5, Visual Studio 2012)

Intento entender un tema como Delegate, y actualmente tengo algunos puntos que debo aclarar. Encontré mucha información diferente en Internet que describe cómo usarla, pero es un poco complicado comprender este tema para mí.

Como entiendo debo hacer algunas cosas para usar delegado:

Cree alguna entidad para trabajar con ella (que requiere crear algún delegado)Declara un tipo de delegadoCrear algún método donde llamo a delegar.En la clase principal, delegar con el método requerido que usa entidad (desde el primer punto)

todo lo descrito se muestra a continuación

La pregunta - ¿Comprendo correctamente todo o tal vez me equivoque? Aclarelo.

Tambien otropregunta con respecto a DELEGATE: dónde es mejor colocar el código con DELEGATE en la aplicación C # de la Consola. Puedo crearlo en cualquier lugar del espacio de nombres usado, como se muestra a continuación.

Pero quizás haya alguna recomendación / requisitos para colocar delegado no solo para la aplicación de la Consola sino también para WinForms, WPF, etc.

Este tema es nuevo para mí y paso un día para entenderlo, pero aún un poco (o más) confundido con esto, finalmente cree este post para una comprensión mejor y más clara. Creo que es algo muy poderoso.

EDITAR

namespace SimpleCSharpApp
{
   delegate void myDelagate ();
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta