Partager via


ParseRequest, classe

Fournit des informations pour exécuter une opération d'analyse dans un service de langage.

Cette API n'est pas conforme CLS. 

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Package.ParseRequest

Espace de noms :  Microsoft.VisualStudio.Package
Assemblys :   Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Syntaxe

'Déclaration
<CLSCompliantAttribute(False)> _
Public Class ParseRequest
[CLSCompliantAttribute(false)]
public class ParseRequest

Le type ParseRequest expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ParseRequest(Boolean) Initialise une nouvelle instance de la classe d'ParseRequest afin de terminer le thread utilisé pour des opérations d'analyse d'arrière-plan.
Méthode publique ParseRequest(Int32, Int32, TokenInfo, String, String, ParseReason, IVsTextView, AuthoringSink, Boolean) Initialise une nouvelle instance de la classe ParseRequest.

Début

Propriétés

  Nom Description
Propriété publique Callback Spécifie le délégué de rappel à appeler lorsque l'opération d'analyse s'est achevée.
Propriété publique Col Spécifie l'offset de personnage sur la première ligne pour commencer l'opération d'analyse.
Propriété publique DirtySpan Spécifie une étendue de la source qui a changé.
Propriété publique FileName Spécifie le nom du fichier source étant analysé.
Propriété publique IsSynchronous Obtient ou définit si la demande est synchrone.
Propriété publique Line Spécifie la ligne sur laquelle pour démarrer l'opération d'analyse.
Propriété publique Reason Spécifie la raison que que l'opération d'analyse a été démarrée.
Propriété publique Scope Spécifie l'objet d'AuthoringScope qui est utilisé pour retourner les informations étendues de l'opération d'analyse.
Propriété publique Sink Spécifie un objet d'AuthoringSink utilisé pour contenir les informations de l'opération d'analyse.
Propriété publique Terminate Spécifie si les opérations d'analyse d'arrière-plan de gestion de thread de travail doivent quitter.
Propriété publique Text Spécifie le texte source à analyser.
Propriété publique Timestamp Spécifie un horodatage pour la demande d'analyser.
Propriété publique TokenInfo Spécifie une structure d'TokenInfo qui est terminée avec les résultats de l'opération d'analyse.
Propriété publique View Spécifie l'objet d'IVsTextView représentant la vue qui contient la source qui est analysée.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Remarques

Cette classe est utilisée pour communiquer les informations à un analyseur sur d'une opération d'analyse particulier et à retourner des informations sur l'opération d'analyse.La source utilisée par l'analyseur est accessible en tant que seul bloc de texte via la propriété d'Text.Ce texte est passé au constructeur d'ParseRequest.

Remarques à l'attention des implémenteurs

Tout ce dont les besoins classiques d'une opération d'analyse peuvent être recherchés dans cette classe et il doit pas avoir de raison de dériver de cette classe.Toutefois, si vous devez dériver une classe de la classe d'ParseRequest, vous devez dériver une classe de la classe d'LanguageService et substituer la méthode d'CreateParseRequest pour instancier votre propre version de la classe d'ParseRequest.

Notez que si votre service de langage va prendre en charge des variables d'analyse pour l'affichage dans Automatique déboguant la fenêtre et/ou prendre en charge la validation des points d'arrêt, vous devez dériver une classe de la classe d'AuthoringSink et définir la propriété d'Sink dans une instance de la classe d'ParseRequest à votre version de la classe d'AuthoringSink.Cette opération peut être effectuée dans la méthode d'CreateParseRequest après que l'objet d'ParseRequest soit créé.

Remarques à l'attention des appelants

Cette classe est instanciée par un appel à la méthode d'CreateParseRequest dans la classe d'LanguageService.

Ne tentez pas d'utiliser la propriété d'View dans un thread d'arrière-plan : l'objet d'IVsTextView est signifié uniquement pour l'utilisation de premier plan par la classe de base d'Source.

Exemples

Cet exemple montre comment créer un nouvel objet d'ParseRequest avec un objet personnalisé d'AuthoringSink (la classe pour lequel n'est pas montré).

using Microsoft.VisualStudio.Package;
using Microsoft.VisualStudio.TextManager.Interop;

namespace MyLanguagePackage
{
    class MyLanguageService : LanguageService
    {
        public ParseRequest CreateParseRequest(Source s, 
                                               int line, 
                                               int idx, 
                                               TokenInfo info, 
                                               string sourceText, 
                                               string fname, 
                                               ParseReason reason, 
                                               IVsTextView view)
        {
             ParseRequest req = new ParseRequest(line,
                                                 idx,
                                                 info,
                                                 sourceText,
                                                 fname,
                                                 reason,
                                                 view);
             if (req != null)
             {
                  req.Sink = new MyAuthoringSink(reason, line, idx);
             }
             return req;
         }
    }
}

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Package, espace de noms