Simplifier Classe

Definizione

Espande e riduce i sottoalberi.

Espansione: 1) Rende espliciti i nomi dedotti (su tipi anonimi e tuple). 2) Sostituisce i nomi con nomi punteggiati completi. 3) Aggiunge parentesi intorno alle espressioni 4) Aggiunge cast/conversioni esplicite in cui esistono conversioni implicite 5) Aggiunge l'uscita agli identificatori 6) Riscrivere le chiamate al metodo di estensione con chiamate esplicite sulla classe contenente il metodo di estensione.

Riduzione: 1) Riduce i nomi punteggiati alla forma minima 2) Rimuove le parentesi non necessarie 3) Rimuove i cast/conversioni non necessari 4) Rimuove le chiamate esplicite non necessarie al formato 5) Riscrive le chiamate esplicite ai metodi di estensione per usare la notazione punto 6) Rimuove nomi di elementi di tupla non necessari e nomi dei membri di tipo anonimi

public static class Simplifier
Ereditarietà
Simplifier

Proprietà

AddImportsAnnotation

L'annotazione Microsoft.CodeAnalysis.CodeActions.CodeAction.CleanupDocumentAsync(Microsoft.CodeAnalysis.Document,Microsoft.CodeAnalysis.CodeCleanup.CodeCleanupOptions,System.Threading.CancellationToken) usata per identificare i sotto alberi per cercare annotazioni di simboli su. Aggiungerà quindi direttive di importazione per queste annotazioni dei simboli.

Annotation

L'annotazione utilizzata dal reducer per identificare gli alberi secondari da ridurre. Le operazioni Espandi aggiungono questa annotazione ai nodi in modo che le operazioni di riduzione vengano trovate più avanti.

SpecialTypeAnnotation

Questa è l'annotazione usata dal semplificatore e dall'espansore per identificare il tipo predefinito e conservarli dalla semplificazione

Metodi

Expand(SyntaxToken, SemanticModel, Workspace, Func<SyntaxNode,Boolean>, CancellationToken)

Espandere parti qualificanti del sottoalbero specificato, annotando le parti usando l'annotazione Annotation .

Expand<TNode>(TNode, SemanticModel, Workspace, Func<SyntaxNode,Boolean>, Boolean, CancellationToken)

Espandere parti qualificanti del sottoalbero specificato, annotando le parti usando l'annotazione Annotation .

ExpandAsync(SyntaxToken, Document, Func<SyntaxNode,Boolean>, CancellationToken)

Espandere parti qualificanti del sottoalbero specificato, annotando le parti usando l'annotazione Annotation .

ExpandAsync<TNode>(TNode, Document, Func<SyntaxNode,Boolean>, Boolean, CancellationToken)

Espandere parti qualificanti del sottoalbero specificato, annotando le parti usando l'annotazione Annotation .

ReduceAsync(Document, IEnumerable<TextSpan>, OptionSet, CancellationToken)

Ridurre gli alberi secondari annotati con Annotation trovato all'interno degli intervalli specificati. Il nodo annotato e tutti i nodi figlio verranno ridotti.

ReduceAsync(Document, OptionSet, CancellationToken)

Ridurre tutti gli alberi secondari annotati con Annotation trovato all'interno del documento. Il nodo annotato e tutti i nodi figlio verranno ridotti.

ReduceAsync(Document, SyntaxAnnotation, OptionSet, CancellationToken)

Ridurre gli alberi secondari annotati con Annotation trovato all'interno dei sottoalberi identificati con l'oggetto specificato annotation. Il nodo annotato e tutti i nodi figlio verranno ridotti.

ReduceAsync(Document, TextSpan, OptionSet, CancellationToken)

Ridurre gli alberi secondari annotati con Annotation trovato all'interno dell'intervallo specificato. Il nodo annotato e tutti i nodi figlio verranno ridotti.

Si applica a