Ich habe versucht, einen Typ zur Laufzeit zu definieren, der von einer bekannten Klasse erbt und eine Schnittstelle implementiert.
%Vor%Hier ist das Code-Snippet, das zeigt, wie ich mein Ziel erreichen will.
%Vor% Aus irgendeinem Grund bekomme ich beim Aufruf von typeBuilder.CreateType()
die Ausnahme "get_Value-Methode nicht implementiert". Bisher nicht in der Lage, den Grund dafür zu sehen.
Die implizite Schnittstellenimplementierung c # (durch Namensübereinstimmung) ist nur Bequemlichkeit; Wenn Sie es von Hand tun, müssen Sie jedes in der Tabelle der virtuellen Methode mit typeBuilder.DefineMethodOverride verknüpfen und die neue (generierte) Methode und die zu erfüllende Schnittstellenmethode übergeben. Dies muss für jede Methode jeder Schnittstelle ausgeführt werden, die Sie implementieren möchten.
Tags und Links c# reflection definition runtime types