Cela ne vaut peut-être pas grand-chose, mais l'une des raisons pour lesquelles vous ne voyez pas proliférer de proxies dynamiques dans .NET est que les langages .NET les plus communs (C#, VB.NET) diffèrent de Java dans un aspect très important:
En Java, toutes les méthodes sont virtuelles à moins qu'elles ne soient explicitement déclarées scellées.
En C# (et VB.NET IIRC), toutes les méthodes et propriétés sont scellées sauf si elles sont explicitement déclarées virtuelles.
Cela signifie que la valeur potentielle d'un proxy dynamique est beaucoup plus faible dans .NET que dans Java. Vous devez explicitement concevoir vos objets .NET pour être 'proxyable', et la plupart des gens ne font pas cela - il faut prendre une décision consciente pour rendre un objet .NET 'proxyable'.
Il est vraiment si rare de voir un proxy dynamique .NET en dehors des conteneurs DI que je ne peux pas penser à d'autres proxies dynamiques que Castle. Notez que le comportement "scellé par défaut" est une caractéristique des langages .NET - il est très concevable que l'on puisse concevoir un langage basé sur .NET qui a le même comportement "virtuel par défaut" que Java . Bien que je n'en connaisse aucun, je serais surpris si une telle langue n'existe pas. Après tout, tout est dans le compilateur.