Comprender el parámetro "SecurityAction" de .NET para permisos

¿Alguien puede explicar el significado y los propósitos de los valores para la enumeración SecurityAction?

La página de MSDN no es terriblemente clara. Dice que LinkDemand ocurre en la compilación justo a tiempo, mientras que Demand ocurre en tiempo de ejecución.

¿Por qué la distinción y en qué situaciones usaría LinkDemand en lugar de Demand?

Del mismo modo, ¿cuáles son los casos de uso de otros valores interesantes como InheritenceDemand, Assert y PermitOnly?

Respuestas a la pregunta(1)

Su respuesta a la pregunta