DocumentProperties 类

提供对文档特定属性支持与语言服务。

此 API 不兼容 CLS。 兼容 CLS 的替代 API 为 [None]。

继承层次结构

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

命名空间:  Microsoft.VisualStudio.Package
程序集:   Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)

语法

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

DocumentProperties 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 DocumentProperties 初始化 DocumentProperties 类的新实例。

页首

属性

  名称 说明
公共属性 Visible 确定 DocumentProperties 对象是否显示在 属性 窗口。

页首

方法

  名称 说明
公共方法 Close 关闭 DocumentProperties 对象,使其属性不再可见在 属性 窗口。
公共方法 CountObjects 返回此 DocumentProperties 对象管理对象的数量。
公共方法 CreateDesignPropertyDescriptor 返回在特定属性说明符的一个 DesignPropertyDescriptor 包装。 (继承自 LocalizableProperties。)
公共方法 Dispose() 清理对象。
受保护的方法 Dispose(Boolean) 清理对象及其资源。
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 对象执行最后清理。 (重写 Object.Finalize()。)
公共方法 GetAttributes 获取属性的集合此元素的。 (继承自 LocalizableProperties。)
公共方法 GetClassName 返回此对象的类名。 (继承自 LocalizableProperties。)
公共方法 GetCodeWindowManager 检索代码窗口管理器与此 DocumentProperties 对象。
公共方法 GetComponentName 返回此对象的名称。 (继承自 LocalizableProperties。)
公共方法 GetConverter 返回此对象的类型转换器。 (继承自 LocalizableProperties。)
公共方法 GetDefaultEvent 返回此对象的默认事件。 (继承自 LocalizableProperties。)
公共方法 GetDefaultProperty 获取元素的默认属性。 (继承自 LocalizableProperties。)
公共方法 GetEditor 检索此对象的编辑器。 (继承自 LocalizableProperties。)
公共方法 GetEvents() 获取事件的收集一个指定的元素。 (继承自 LocalizableProperties。)
公共方法 GetEvents(array<Attribute[]) 获取事件的收集一个指定元素的使用指定的属性作为筛选器。 (继承自 LocalizableProperties。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetObjects 返回此 DocumentProperties 对象管理的对象的列表。
公共方法 GetProperties() 获取属性的集合。 (继承自 LocalizableProperties。)
公共方法 GetProperties(array<Attribute[]) 返回选定对象的特性数组作为筛选器。 (继承自 LocalizableProperties。)
公共方法 GetPropertyOwner 返回可浏览的对象。 (继承自 LocalizableProperties。)
公共方法 GetSource 返回 Source 对象与此 DocumentProperties 对象。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 Refresh 更新具有最新的属性值 属性 窗口。
公共方法 SelectObjects 调用管理多个对象的选择在 属性 窗口中。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

备注

,虽然在 Visual Studio时,文档的打开文档属性显示在 属性 窗口。 通常,源文档的属性和方法,因此 属性 窗口是空的。 但是,语言服务可以提供了可与任何该语言服务支持的文件类型的属性。 例如,因此,如果语言服务支持嵌入编码方案中的源文件,则可能会显示为文档属性。 当父属性,源文件更新。

应确定文档以了解如何的语言服务保存或保存。 通常,属性加载从并保存到源文件。 ,在分析文档时,属性可以获取。 当属性更新时,值可以插入因此立即到源文件,并且源保存文件时,属性将保存在它。

对实现者的说明

如果在语言服务中需要支持文档特定的属性,需要从 DocumentProperties 类派生类并将表示可查看和更改属性的公共属性。 请参见本主题中的示例显示了如何通常实现。 必须重写在 LanguageService 类的 CreateDocumentProperties 方法返回 DocumentProperties 对象的实例。

对调用者的说明

Visual Studio 管理 属性 窗口。 CreateDocumentProperties 方法的默认实现返回没有可见的属性,以便 属性 窗口显示 nothing DocumentProperties 对象。 如果实现拥有 DocumentProperties 类的版本与具有正确的特性的公共属性,这些属性自动出现在 属性 窗口。 立即提交的更改将属性。 属性 窗口影响上 DocumentProperties 对象。 请参见下面的示例以查看哪些属性需要应用于属性。

示例

下面的示例演示一个可视属性的一 DocumentProperties 对象。

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);
                    }
                }
            }
        }
    }
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Package 命名空间