表示DDEX的默认实现支持实体。
命名空间: Microsoft.VisualStudio.Data.Core
程序集: Microsoft.VisualStudio.Data.Core(在 Microsoft.VisualStudio.Data.Core.dll 中)
语法
声明
Public Interface IVsDataDefaultObject
public interface IVsDataDefaultObject
public interface class IVsDataDefaultObject
type IVsDataDefaultObject = interface end
public interface IVsDataDefaultObject
备注
当DDEX客户端调用DDEX运行时创建DDEX的实例时支持特定提供程序的实体,提供程序可以查询以确定它是否支持该实体,并且,",则,将创建实例并返回。如果提供程序不支持该实体,默认情况下调用引发异常或基于代码路径返回 nullnull 引用(在 Visual Basic 中为 Nothing)。但是,在某些情况下,DDEX的所有者支持实体能有自己若要提供给,当DDEX提供程序不提供自己的实现时,从而避免错误条件的客户端的一个合理的默认实现。
此的示例实际上是 IVsDataConnectionUIConnector 支持实体。这支持实体包含调用从打开用户界面上下文的数据连接的一个方法,例如数据连接对话框。;如果未找到,此的典型用法支持实体是添加附加的行为,如检查数据连接目标是否存在以及指示创建新的数据存储区。但是,合理的默认任何不是常规打开连接并执行特定的。通过提供此默认实现,客户端代码简化,因为它需要处理该提供程序需要或不实现该用例单独不再支持实体,也不需要包括自己的回退,默认实现。
DDEX支持具有一个合理的默认实现应包括在表示支持实体的类型的 DataDefaultObjectAttribute 属性的实体。此特性标识实现此接口的默认选件类。当需要由客户端,DDEX运行时将创建默认选件类的实例,如果提供程序实现不可用。此接口就可以DDEX运行时和客户端确定对象的特定实例是否是默认实现。
IVsDataDefaultObject 接口是主要利益到DDEX平台扩展程序,即,创建额外的DDEX的服务和支持实体。
示例
下面的代码演示 IVsDataConnectionUIConnector 的定义支持声明默认对象属性的实体。它由此默认对象的实现执行。
using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
[DataDefaultObject("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
public interface IVsDataConnectionUIConnector
{
void Connect(IVsDataConnection connection);
}
[Guid("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
internal class DefaultConnectionUIConnector
: IVsDataConnectionUIConnector,
IVsDataDefaultObject
{
public void Connect(IVsDataConnection connection)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
connection.Open();
}
}