CodeDomSerializerBase.DeserializeExpression Metod

Definition

Deserialiserar det angivna uttrycket till ett minnesinternt objekt.

protected:
 System::Object ^ DeserializeExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::String ^ name, System::CodeDom::CodeExpression ^ expression);
protected object DeserializeExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string name, System.CodeDom.CodeExpression expression);
protected object? DeserializeExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string? name, System.CodeDom.CodeExpression? expression);
member this.DeserializeExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * string * System.CodeDom.CodeExpression -> obj
Protected Function DeserializeExpression (manager As IDesignerSerializationManager, name As String, expression As CodeExpression) As Object

Parametrar

manager
IDesignerSerializationManager

Att IDesignerSerializationManager använda för serialisering.

name
String

Namnet på objektet som är resultatet av uttrycket. Kan vara null om det inte finns något behov av att namnge objektet.

expression
CodeExpression

Att CodeExpression tolka.

Returer

Ett objekt som är resultatet av tolkningen av expression.

Kommentarer

Det här är en hjälpmetod som härledda klasser kan anropa för att deserialisera ett uttryck. Den deserialiserar -instruktionen genom att tolka och köra det CodeDOM-uttryck som anges av parametern expression och returnerar sedan resultatet. Om ett objekt behöver skapas som ett resultat av det här uttrycket får det namn som anges av parametern name . Namnet kan vara null om det inte finns något behov av att namnge objektet. I följande tabell beskrivs hur specifika uttryck hanteras.

Expression Behavior
CodeThisReferenceExpression Det här uttrycket representerar this eller Me. För att hitta objektet som är associerat med det här uttrycket DeserializeExpression letar metoden i kontextstacken efter en RootContext. Det här objektet innehåller grafens rotobjekt och det uttryck som representerar det. Om objektet finns och uttrycket matchar returneras rotobjektet. Ett fel rapporteras om en instans inte kan hittas.
CodeFieldReferenceExpression Om målet för fältreferensen utvärderas till rotobjektet GetInstance används metoden för parametern manager för att hämta objektinstansen baserat på namn. Annars används standardreflektion mot målobjektet för att hitta det begärda fältet. Ett fel rapporteras om fältet inte kan hittas.
CodeVariableReferenceExpression Metoden GetInstance för parametern manager används för att hitta den instans som representerar det angivna variabelnamnet. Ett fel rapporteras om en instans inte kan hittas.

DeserializeExpression fortsätter att tolka uttryck tills de är helt lösta till ett objekt, eller tills det inte längre kan förenkla uttrycket. I det här fallet DeserializeExpression returneras ett CodeExpression som innehåller det mest förenklade uttrycket. Följande uttryck stöds inte:

Gäller för

Se även