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.
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
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
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
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
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
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,
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 =>
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
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
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
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;
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,
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
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
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
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
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
6
Antworten
Was ist der Unterschied zwischen dem CIL-Anweisungen "Call" und "Callvirt"? InformationsquelleAutor der Frage Eric Smith | 2008-10-11