IVsDataSourceSpecializer.CreateObject 方法

创建指定的DDEX的实例支持由特定DDEX数据源的DDEX提供程序实现的实体。

命名空间:  Microsoft.VisualStudio.Data.Core
程序集:  Microsoft.VisualStudio.Data.Core(在 Microsoft.VisualStudio.Data.Core.dll 中)

语法

声明
Function CreateObject ( _
    source As Guid, _
    objType As Type _
) As Object
Object CreateObject(
    Guid source,
    Type objType
)
Object^ CreateObject(
    Guid source, 
    Type^ objType
)
abstract CreateObject : 
        source:Guid * 
        objType:Type -> Object 
function CreateObject(
    source : Guid, 
    objType : Type
) : Object

参数

  • source
    类型:System.Guid
    DDEX数据源标识符。
  • objType
    类型:System.Type
    DDEX的类型支持实体。

返回值

类型:System.Object
指定的DDEX的实例支持由特定DDEX数据源的DDEX提供程序实现的实体,则为; DDEX提供程序支持它;否则,nullnull 引用(在 Visual Basic 中为 Nothing)。

异常

异常 条件
ArgumentNullException

objType 参数为 nullnull 引用(在 Visual Basic 中为 Nothing)。

备注

此方法允许DDEX创建提供程序DDEX的不同实现支持实体,DDEX数据源。DDEX客户端当前面向。此的示例对具有 IVsDataConnectionUIControl 支持实体,有两次实现Microsoft SQL Server DDEX提供程序:一个连接到使用服务器名称(Microsoft SQL Server数据源)的SQL Server和一个连接到SQL Server express使用数据库文件名(Microsoft SQL Server数据库文件数据源)的编辑器。

示例

下面的代码演示如何实现此方法创建标准支持两个不同数据源的实体。此示例从结构 DataSourceSpecializer 选件类继承,在 IVsDataSourceSpecializer 接口提供其他方法默认实现。

C#

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services.SupportEntities;
using Microsoft.VisualStudio.Data.Framework;

public class MySourceSpecializer2 : DataSourceSpecializer
{
    private static readonly Guid s_dataSource1 =
        new Guid("F24C1C71-D9AE-47ec-80C6-91B864201D72");
    private static readonly Guid s_dataSource2 =
        new Guid("194DD1D2-19A8-4493-A70B-F83C141D29E5");

    public override object CreateObject(Guid source, Type objType)
    {
        if (source == s_dataSource1)
        {
            if (objType == typeof(IVsDataConnectionUIControl))
            {
                return new MyConnectionUIControl1();
            }
        }
        if (source == s_dataSource2)
        {
            if (objType == typeof(IVsDataConnectionUIControl))
            {
                return new MyConnectionUIControl2();
            }
        }
        return null;
    }
}

internal class MyConnectionUIControl1 : DataConnectionUIControl
{
}

internal class MyConnectionUIControl2 : DataConnectionUIControl
{
}

.NET Framework 安全性

请参见

参考

IVsDataSourceSpecializer 接口

Microsoft.VisualStudio.Data.Core 命名空间