Dies ist möglicherweise nicht viel wert, da die Antworten gehen, aber einer der Gründe, warum Sie keine Verbreitung von dynamischen Proxies in .NET sehen, ist, dass die meisten gängigen .NET-Sprachen (C#, VB.NET) von Java abweichen in einem sehr wichtigen Aspekt:
In Java sind alle Methoden virtuell, es sei denn explizit deklariert versiegelt.
In C# (und VB.NET IIRC) sind alle Methoden und Eigenschaften versiegelt, sofern sie nicht explizit als virtuell deklariert werden.
Dies bedeutet, dass der potenzielle Wert eines dynamischen Proxy in .NET viel niedriger ist als in Java. Sie müssen Ihre .NET-Objekte explizit so gestalten, dass sie "proxyfähig" sind, und die meisten Leute tun das nicht - es ist eine bewusste Entscheidung, ein .NET-Objekt "proxyfähig" zu machen.
Es ist eigentlich so selten, einen dynamischen .NET-Proxy außerhalb von DI Containers zu sehen, von dem ich keine anderen dynamischen Proxies als Castle in Betracht ziehen kann.
Beachten Sie, dass die "Sealed standardmäßig das Verhalten ist eine Funktion von .NET Sprachen - es ist sehr denkbar, dass man eine .NET-basierte Sprache entwickeln könnte, die die gleiche" virtuelle standardmäßig das Verhalten als Java hat . Obwohl ich keine kenne, wäre ich überrascht, wenn eine solche Sprache nicht existiert. Schließlich ist alles im Compiler.