Tag: reflection.emit

Das System.Reflexion.Emit-namespace enthält Klassen, mit denen ein compiler oder tool zum emittieren von Metadaten sowie von Microsoft intermediate language (MSIL) und Optional generieren einer PE-Datei auf der Festplatte.

Fügen Sie eine Eigenschaft zur Laufzeit zu einem bestehenden Objekt mit propertyBuilder

Anzahl der Antworten 2 Antworten
Ein Objekt hat gewisse Eigenschaften , die sich jetzt in runtime -- wenn eine Bedingung erfüllt ist .. ich neue Eigenschaften hinzufügen möchten, um dieses Objekt . "DynamicObject" kann nicht sein ustilised seit ich nicht wissen, die

Wie zu emittieren explizite interface-Umsetzung mit der spiegelung.emittieren?

Anzahl der Antworten 1 Antworten
Beachten Sie die folgenden einfachen code: using System; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; namespace A { public static class Program { private const MethodAttributes ExplicitImplementation = MethodAttributes.Private | MethodAttributes.Virtual | MethodAttributes.Final | MethodAttributes.HideBySig | MethodAttributes.NewSlot; private

Erstellen von Methode dynamisch und Ausführung

Anzahl der Antworten 6 Antworten
Hintergrund: Möchte ich definieren, paar static Methoden in C# , und erzeugen von IL code als byte-array, das aus einer dieser Methoden, die zur Laufzeit ausgewählt (auf dem client), und senden das byte-array über ein Netzwerk zu

Ändern Bestehender .NET-Assemblys

Anzahl der Antworten 6 Antworten
Gibt es eine Möglichkeit, vorhandene ändern .NET-assemblies, ohne auf 3rd-party-tools? Ich weiß, dass PostSharp macht dies möglich, aber ich finde es unglaublich verschwenderisch, dass die developler von PostSharp im Grunde hatte zu schreiben, die die Funktionalität des

Ersetzen von Anweisungen in einer Methode MethodBody

Anzahl der Antworten 6 Antworten
Ist(vor allem ist dies ein sehr langwieriger post, aber keine Sorge: ich habe bereits umgesetzt werden, kann ich Sie nur Fragen, Ihre Meinung oder mögliche alternativen.) Ich habe Probleme bei der Umsetzung der folgenden; ich würde schätzen

Ist es möglich, fügen Sie eine Methode zu einer BESTEHENDEN Klasse zur Laufzeit? warum oder warum nicht?

Anzahl der Antworten 2 Antworten
Ich könnte mir vorstellen, dies könnte mithilfe von Reflektion.Emittieren, aber eine ähnliche Frage auf SO nur Antworten, wie das erstellen einer Klasse/Methode dynamisch, nicht, wie das update einer vorhandenen Klasse. In eine ähnliche Richtung, ist es möglich,

Keine Bindung an die Ziel-Methode, die beim erstellen Delegierten für Eigenschaften

Anzahl der Antworten 2 Antworten
Versuchen, um zwei Wörterbücher der ausgestoßenen Delegierten zu ermöglichen, für eine bessere Leistung, wenn Sie dynamisch abrufen/festlegen der Werte der Eigenschaften. Code: Properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance) .Where(p => p.CanRead && !p.GetIndexParameters().Any()) .AsEnumerable(); PropertyGetters = Properties.ToDictionary(p =>

Erstellen von dynamischen Typ von TypeBuilder mit einer Basis-Klasse und zusätzliche Felder, die eine Ausnahme generiert

Anzahl der Antworten 1 Antworten
Ich versuche zu erstellen, die eine dynamische Art auf Basis eines vorhandenen Typs, die nur aus öffentlichen Feldern. Die neue dynamische Typ muss auch Erben von einer anderen Basis-Typ, die nur eine vollständig implementierte Methode. Erstelle ich

So erstellen Sie eine Methode, die zur Laufzeit über Reflexion.emittieren

Anzahl der Antworten 1 Antworten
Ich bin momentan dabei, ein Objekt zur Laufzeit mit reflection emittieren. Ich erfolgreich die Felder, Eigenschaften und get-set-Methoden. Jetzt will ich eine Methode hinzufügen. Der Einfachheit halber nehmen wir an, die Methode gibt einfach zurück, der eine

Mit Der Spiegelung.Emittieren, eine Klasse zu erstellen Implementierung einer Schnittstelle

Anzahl der Antworten 5 Antworten
Brauche ich zum erzeugen einer Klasse mit der Spiegelung.Emittieren, implementiert die folgende Schnittstelle. public interface IObject { T Get<T>(string propertyName); } Hat jemand ein Beispiel wie ich emittieren würde das folgende als ein einfacher Testfall? class GeneratedObject

Wie kann ich Attribute hinzufügen einer Methode zur Laufzeit?

Anzahl der Antworten 4 Antworten
Verwenden wir Microsoft.Praktiken.CompositeUI.EventBroker zu handhaben Ereignis-Abonnement und die Veröffentlichung in unserer Anwendung. Der Weg, der funktioniert ist, dass Sie ein Attribut hinzuzufügen, die zu Ihrer Veranstaltung, Angabe von ein-Thema-name, wie hier: [EventPublication("example", PublicationScope.Global)] public event EventHandler Example;

Dynamisch erstellen, geben Sie und rufen Konstruktor der Basis-Klasse

Anzahl der Antworten 2 Antworten
Brauche ich zum erstellen einer Klasse dynamisch. Die meisten Dinge funktionieren, aber ich bin stecken in der Generierung der Konstruktor. AssemblyBuilder _assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("MyBuilder"), AssemblyBuilderAccess.Run); ModuleBuilder _moduleBuilder = _assemblyBuilder.DefineDynamicModule("MyModule"); public static object GetInstance<TSource, TEventArgs>(this TSource source,

Reflexion.Emittieren besser als GetValue & SetValue :S

Anzahl der Antworten 5 Antworten
Ich habe gesagt, Reflektion verwenden.Strahlen statt PropertyInfo.GetValue /SetValue, weil es ist schneller auf diese Weise. Aber ich weiß wirklich nicht, was das für ein Zeug aus der Reflexion.Emittieren und wie Sie Sie verwenden es als Ersatz GetValue

Realen Welt verwendet der Reflexion.Emittieren

Anzahl der Antworten 16 Antworten
In alle Bücher, die ich gelesen habe, auf die Reflexion sagen Sie oft, dass es nicht viele Fälle, wo Sie wollen, zu generieren, IL on-the-fly, aber Sie geben nicht alle Beispiele, wo es Sinn macht. Nachdem er

Wie erstellt man dynamisch eine Klasse in C #?

Anzahl der Antworten 12 Antworten
Habe ich eine Klasse die so aussieht: public class Field { public string FieldName; public string FieldType; } Und ein Objekt List<Field> mit Werten: {"EmployeeID","int"}, {"EmployeeName","String"}, {"Designation","String"} Ich soll eine Klasse erstellen, die wie folgt aussieht: Class

Schnelle Erstellung von Objekten anstelle von Activator.CreateInstance (type)

Anzahl der Antworten 5 Antworten
Ich versuche zu verbessern, die performance unserer Anwendung. Wir haben eine Menge von Aktivator.CreateInstance-Aufrufe, die eine gewisse Trauer. Instanzieren wir eine Menge von Klassen basiert auf einer Schnittstelle (ITabDocument) und nach einem Blick herum, ich dachte, mit

Reflection.Emit vs CodeDOM

Anzahl der Antworten 3 Antworten
Was sind einige vor - /Nachteile für die Verwendung der Reflexion.Emittieren Bibliothek versus CodeDOM zur dynamischen Erzeugung von code zur Laufzeit? Ich versuche zu generieren, einige (relativ kompliziert) dynamische Klassen in einem system, basierend auf Metadaten, die

Call und Callvirt

Anzahl der Antworten 6 Antworten
Was ist der Unterschied zwischen dem CIL-Anweisungen "Call" und "Callvirt"? InformationsquelleAutor der Frage Eric Smith | 2008-10-11