Linea Mock framework NMock (per generare classi di simulazione in scenari di test unitari) fai questo.
Un'altra applicazione che posso pensare potrebbe essere uno strumento generico di database che genera classi in fase di esecuzione per ogni tabella nel DB (ovviamente, potrebbero esserci soluzioni migliori a questo scopo).
In C #, ogni volta che hai il requisito di costruire una funzione in fase di esecuzione (perché, ad esempio, l'utente è in grado di immettere una funzione definita da solo nella tua applicazione), avrai bisogno di una classe dinamica per questo scopo poiché in C # le funzioni non possono vivere "da sole".
E un'altra applicazione che conosco sono i wrapper COM dinamicamente creati in C # 4.0 per ogni componente COM. Fino al C # 3.5, era necessario prima generare un wrapper di libreria di tipi che doveva essere compilato prima di poterlo usare. Con C # 4.0 e la parola chiave dynamic
, questo non è più necessario, il wrapper può essere costruito in fase di esecuzione dal framework ed è possibile scrivere il codice che chiama i metodi di tali classi.