War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ExpressionBuilder-Klasse

Wertet während der Seitenanalyse Ausdrücke aus.

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

public ref class ExpressionBuilder abstract

Der ExpressionBuilder-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeExpressionBuilderInitialisiert eine neue Instanz der ExpressionBuilder-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftSupportsEvaluateGibt nach dem Überschreiben in einer abgeleiteten Klasse einen Wert zurück, der angibt, ob das aktuelle ExpressionBuilder-Objekt nicht kompilierte Seiten unterstützt.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeEvaluateExpressionGibt nach dem Überschreiben in einer abgeleiteten Klasse ein Objekt zurück, das einen ausgewerteten Ausdruck darstellt.
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetCodeExpressionGibt nach dem Überschreiben in einer abgeleiteten Klasse Code zurück, mit dem während der Seitenausführung der ausgewertete Ausdruck abgerufen wird.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeParseExpressionGibt nach dem Überschreiben in einer abgeleiteten Klasse ein Objekt zurück, das den analysierten Ausdruck darstellt.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

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

Ausdrucks-Generatoren analysieren deklarative Ausdrücke und erstellen Code, um an eine Steuerelementeigenschaft gebundene Werte abzurufen. In Szenarios wertet ein Ausdrucks-Generator, der ein Feature unterstützt, in dem keine Kompilierung erfolgt, den Ausdruck zur Laufzeit aus.

Wenn der Seitenparser einen Ausdruck entdeckt, der durch die Zeichenfolge <%$ %> begrenzt ist, erstellt er basierend auf dem Präfix in der Zeichenfolge einen Ausdrucks-Generator für den Ausdruck. Das Präfix ist der Teil der Zeichenfolge, der sich links vom Doppelpunkt (:) befindet. Wenn der Parser beispielsweise auf die Zeichenfolge <%$ ConnectionStrings:MessageDB %> trifft, erstellt er ein ConnectionStringsExpressionBuilder-Objekt. Präfixe werden in der Datei Web.config im Abschnitt ExpressionBuilders Ausdrucks-Generatoren zugeordnet.

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

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

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

Hinweise zur Vererbung

Wenn Sie von der ExpressionBuilder-Klasse erben, müssen Sie die GetCodeExpression-Methode überschreiben.

In den folgenden Codebeispielen wird veranschaulicht, wie ein benutzerdefinierter Ausdrucks-Generator erstellt wird, indem die abstrakte ExpressionBuilder-Klasse implementiert wird. Diese Implementierung von ExpressionBuilder gibt eine ausgewertete Anweisung zurück, die an den Ausdruck übergeben wird. Um dieses Beispiel auszuführen, müssen Sie zuerst den benutzerdefinierten Ausdrucks-Generator in der Datei Web.config registrieren. Im ersten Codebeispiel wird veranschaulicht, wie der benutzerdefinierte 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 in einer ASPX-Datei auf den Ausdruck verwiesen wird.

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

Im dritten Codebeispiel wird veranschaulicht, wie ein benutzerdefinierter Ausdrucks-Generator entwickelt wird, indem er von ExpressionBuilder abgeleitet wird. Um dieses Codebeispiel auszuführen, müssen Sie die Klasse im Ordner App_Code platzieren.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft