Partager via


DocumentProperties, classe

Fournit la prise en charge des propriétés de document-détail associées à un service de langage.

Cette API n'est pas conforme CLS. L'alternative conforme CLS est [None].

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Shell.LocalizableProperties
    Microsoft.VisualStudio.Package.DocumentProperties

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

Syntaxe

'Déclaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class DocumentProperties _
    Inherits LocalizableProperties _
    Implements ISelectionContainer, IDisposable
[CLSCompliantAttribute(false)]
public abstract class DocumentProperties : LocalizableProperties, 
    ISelectionContainer, IDisposable

Le type DocumentProperties expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée DocumentProperties Initialise une nouvelle instance de la classe DocumentProperties.

Début

Propriétés

  Nom Description
Propriété publique Visible Détermine si l'objet d'DocumentProperties est visible dans la fenêtre de Propriétés.

Début

Méthodes

  Nom Description
Méthode publique Close Ferme l'objet d'DocumentProperties afin que ses propriétés ne sont plus visibles dans la fenêtre de Propriétés.
Méthode publique CountObjects Retourne le nombre d'objets gérés par cet objet d'DocumentProperties.
Méthode publique CreateDesignPropertyDescriptor Retourne un wrapper d'DesignPropertyDescriptor sur le descripteur de propriété donné. (Hérité de LocalizableProperties.)
Méthode publique Dispose() Nettoie l'objet.
Méthode protégée Dispose(Boolean) Nettoie l'objet et ses ressources.
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 Fait un dernier nettoyage de l'objet. (Substitue Object.Finalize().)
Méthode publique GetAttributes Obtient une collection d'attributs pour ce composant. (Hérité de LocalizableProperties.)
Méthode publique GetClassName Retourne le nom de classe de cet objet. (Hérité de LocalizableProperties.)
Méthode publique GetCodeWindowManager Extrait le gestionnaire de fenêtre de code associé à cet objet d'DocumentProperties.
Méthode publique GetComponentName Retourne le nom de cet objet. (Hérité de LocalizableProperties.)
Méthode publique GetConverter Retourne un convertisseur de type pour cet objet. (Hérité de LocalizableProperties.)
Méthode publique GetDefaultEvent Retourne l'événement par défaut pour cet objet. (Hérité de LocalizableProperties.)
Méthode publique GetDefaultProperty Obtient la propriété par défaut pour un composant. (Hérité de LocalizableProperties.)
Méthode publique GetEditor Extrait l'éditeur pour cet objet. (Hérité de LocalizableProperties.)
Méthode publique GetEvents() Obtient la collection d'événements pour un composant spécifié. (Hérité de LocalizableProperties.)
Méthode publique GetEvents(array<Attribute[]) Obtient la collection d'événements pour un composant spécifié à l'aide d'un tableau spécifié d'attributs comme filtre. (Hérité de LocalizableProperties.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetObjects Retourne une liste d'objets gérés par cet objet d'DocumentProperties.
Méthode publique GetProperties() Obtient la collection de propriétés. (Hérité de LocalizableProperties.)
Méthode publique GetProperties(array<Attribute[]) Retourne les propriétés de l'objet sélectionné à l'aide de la matrice d'attribut comme filtre. (Hérité de LocalizableProperties.)
Méthode publique GetPropertyOwner Retourne l'objet être exploré. (Hérité de LocalizableProperties.)
Méthode publique GetSource Retourne un objet d'Source associé à cet objet d'DocumentProperties.
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 Refresh Met à jour la fenêtre de Propriétés avec les dernières valeurs de propriété.
Méthode publique SelectObjects Appelé pour gérer la sélection de plusieurs objets dans la fenêtre de Propriétés.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Remarques

Les propriétés du document s'affichent dans la fenêtre de Propriétés lorsque ce document est ouvert dans Visual Studio.Normalement, les documents de fichier source n'ont pas des propriétés et ainsi la fenêtre de Propriétés est vide.Toutefois, un service de langage peut fournir les propriétés qui peuvent être associées à tout type de document pris en charge par ce service de langage.Par exemple, si votre service prend en charge de langage incorporant un encodage intriguent dans le fichier source, cela peut être affiché en tant que propriété du document.Lorsque la propriété est modifiée, le fichier source est mis à jour.

Il appartient au service de langage pour déterminer comment des propriétés de document-détail sont persistées ou enregistrées.En général, les propriétés sont chargées de et enregistrées au fichier source lui-même.Les propriétés peuvent être obtenues lorsque le document est analysé.Lorsqu'une propriété est mise à jour, la valeur peut être insérée immédiatement dans le fichier source donc lorsque le fichier source est enregistré, la propriété est enregistrée avec elle.

Remarques à l'attention des implémenteurs

Si vous devez prendre en charge des propriétés de document-détail dans votre service de langage, vous devez dériver une classe de la classe d'DocumentProperties et ajouter des propriétés publiques représentant les propriétés qui peuvent être affichées et modifiées.Voyez l'exemple dans ce sujet pour voir comment cela est en général implémenté.Vous devez substituer la méthode d'CreateDocumentProperties dans la classe d'LanguageService pour retourner une instance de votre objet d'DocumentProperties.

Remarques à l'attention des appelants

Visual Studio gère la fenêtre de Propriétés.L'implémentation par défaut de la méthode d'CreateDocumentProperties retourne un objet d'DocumentProperties qui n'a aucune propriété affichable donc les spectacles de fenêtre de Propriétés rien.Si vous implémentez votre propre version de la classe d'DocumentProperties avec les propriétés publiques qui ont les attributs corrects, ces propriétés s'affichent automatiquement dans la fenêtre de Propriétés.Modifications faits à une propriété de l'impact de fenêtre de Propriétés votre objet d'DocumentProperties immédiatement.Voyez l'exemple pour voir qui attribue le besoin d'être appliqué à une propriété.

Exemples

L'exemple suivant montre un objet d'DocumentProperties avec une propriété visible.

using Microsoft.VisualStudio.Package;
using System.ComponentModel;

namespace MyLanguagePackage
{
    class MyDocumentProperties : DocumentProperties
    {
        private string m_encoding;

        public MyDocumentProperties(CodeWindowManager mgr) : base(mgr)
        {
        }

        [DisplayNameAttribute("Encoding")]
        [CategoryAttribute("General")]
        [DescriptionAttribute("Changes encoding scheme")]
        public string Encoding
        {
            get
            {
                return m_encoding;
            }
            set
            {
                m_encoding = value;
                // Write value to source text.
                // This can be done through a custom method
                // (called SetProperyValue in this example) on your
                // language service class like this:
                Source src = this.GetSource();
                if (src != null)
                {
                    MyLanguageService service = src.LanguageService as MyLanguageService;
                    if (service != null)
                    {
                        service.SetPropertyValue(src, "Encoding", m_encoding);
                    }
                }
            }
        }
    }
}

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