Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ExpressionBuilder-Klasse

 

Veröffentlicht: Oktober 2016

Wertet während der Seitenanalyse Ausdrücke aus.

Namespace:   System.Web.Compilation
Assembly:  System.Web (in System.Web.dll)


Public MustInherit Class ExpressionBuilder

NameBeschreibung
System_CAPS_protmethodExpressionBuilder()

Initialisiert eine neue Instanz der ExpressionBuilder-Klasse.

NameBeschreibung
System_CAPS_pubpropertySupportsEvaluate

Gibt beim Überschreiben in einer abgeleiteten Klasse einen Wert, der angibt, ob die aktuelle ExpressionBuilder Objekt nicht kompilierte Seiten unterstützt.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodEvaluateExpression(Object, BoundPropertyEntry, Object, ExpressionBuilderContext)

Ruft beim Überschreiben in einer abgeleiteten Klasse ein Objekt zurück, einen ausgewerteten Ausdruck darstellt.

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetCodeExpression(BoundPropertyEntry, Object, ExpressionBuilderContext)

Ruft beim Überschreiben in einer abgeleiteten Klasse zurückgegeben Code, der während der seitenausführung zum Abrufen des ausgewerteten Ausdrucks.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodParseExpression(String, Type, ExpressionBuilderContext)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt ein Objekt, das den analysierten Ausdruck darstellt.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Die ExpressionBuilder -Klasse ist die Basisklasse für Ausdrucks-Generatoren wie z. B. die AppSettingsExpressionBuilder -Klasse, die während der Seitenanalyse Codeausdrücke erstellen.

Ausdrucks-Generatoren analysieren deklarative Ausdrücke und erstellen Sie Code zum Abrufen von Werten, die an eine Steuerelementeigenschaft gebunden. In Szenarien ohne Kompilierung wertet ein Ausdrucks-Generator, der keine Kompilierung unterstützt den Ausdruck zur Laufzeit.

Wenn der Seitenparser eines Ausdrucks, der mit der Zeichenfolge begrenzt wird <%$ %>, einen Ausdrucks-Generator für den Ausdruck basierend auf dem Präfix in der Zeichenfolge erstellt. Das Präfix ist der Teil der Zeichenfolge, die links neben dem Doppelpunkt (:) ist. Z. B. wenn der Parser erkennt die Zeichenfolge <%$ ConnectionStrings:MessageDB %>, erstellt ein ConnectionStringsExpressionBuilder Objekt. Präfixe sind in der Datei Web.config im Ausdrucks-Generatoren zugeordnet der ExpressionBuilders Abschnitt.

Der rechten Seite des deklarativen Ausdrucks wird zur Evaluierung an den Ausdrucks-Generator übergeben. Überschreiben Sie die GetCodeExpression Methode, um Code zu generieren, die mit der Seite kompiliert wird.

Wenn der benutzerdefinierte Ausdrucks-Generator nicht kompilierten Seiten aktiv sein soll, müssen Sie auch überschreiben die EvaluateExpression Methode, um ein Objekt zurückzugeben, das die Ergebnisse des Ausdrucks darstellt. Außerdem müssen Sie überschreiben die SupportsEvaluate Eigenschaft, um anzugeben, dass der benutzerdefinierte Ausdrucks-Generator Seiten ohne Kompilierung unterstützt.

Sie können einen Satz von Eigenschaften und Methoden für das auswählen und Auswerten eines Ausdrucks, das zur Entwurfszeit einer Steuerelementeigenschaft zugeordnet ist, indem Sie implementieren einen Ausdrucks-Editor definieren. Der Editor wird im Ausdrucks-Generator durch Metadaten auf Klassenebene markiert. Weitere Informationen finden Sie unter ExpressionEditor.

Hinweise für Vererber:

Beim Erben von der ExpressionBuilder -Klasse, die Sie überschreiben müssen die GetCodeExpression Methode.

Die folgenden Codebeispielen wird veranschaulicht, wie einen benutzerdefinierter Ausdrucks-Generator durch Implementieren der ExpressionBuilder abstrakte Klasse. Diese Implementierung der ExpressionBuilder Gibt eine ausgewertete Anweisung, die an den Ausdruck übergeben wird. Um dieses Beispiel auszuführen, müssen Sie zunächst den benutzerdefinierten Ausdrucks-Generator in der Datei Web.config registrieren. Im ersten Codebeispiel wird veranschaulicht, wie die benutzerdefinierten Ausdrucks-Generator in der Datei Web.config registriert wird.

<configuration>
    <system.web>
       <compilation>
          <expressionBuilders>
              <add expressionPrefix="MyCustomExpression"
               type="MyCustomExpressionBuilder"/>
          </expressionBuilders>
       </compilation>
    </system.web>
</configuration>

Im zweiten Codebeispiel wird veranschaulicht, wie der Ausdruck in einer ASPX-Datei verweisen.

<asp:Label ID="Label1" runat="server" 
Text="<%$ MyCustomExpression:Hello, world! %>" />

Im dritten Codebeispiel wird veranschaulicht, wie einen benutzerdefinierter Ausdrucks-Generator zu entwickeln, durch Ableiten von ExpressionBuilder. Um dieses Codebeispiel ausführen zu können, müssen Sie die Klasse im Ordner App_Code platzieren.

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: