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 | |
---|---|---|
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. | |
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 | |
---|---|---|
Callback | Spécifie le délégué de rappel à appeler lorsque l'opération d'analyse s'est achevée. | |
Col | Spécifie l'offset de personnage sur la première ligne pour commencer l'opération d'analyse. | |
DirtySpan | Spécifie une étendue de la source qui a changé. | |
FileName | Spécifie le nom du fichier source étant analysé. | |
IsSynchronous | Obtient ou définit si la demande est synchrone. | |
Line | Spécifie la ligne sur laquelle pour démarrer l'opération d'analyse. | |
Reason | Spécifie la raison que que l'opération d'analyse a été démarrée. | |
Scope | Spécifie l'objet d'AuthoringScope qui est utilisé pour retourner les informations étendues de l'opération d'analyse. | |
Sink | Spécifie un objet d'AuthoringSink utilisé pour contenir les informations de l'opération d'analyse. | |
Terminate | Spécifie si les opérations d'analyse d'arrière-plan de gestion de thread de travail doivent quitter. | |
Text | Spécifie le texte source à analyser. | |
Timestamp | Spécifie un horodatage pour la demande d'analyser. | |
TokenInfo | Spécifie une structure d'TokenInfo qui est terminée avec les résultats de l'opération d'analyse. | |
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 | |
---|---|---|
Equals | Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.) | |
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.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
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.