共用方式為


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
    類型:Guid

    DDEX 資料來源識別項。

  • objType
    類型:Type

    DDEX 支援實體的型別。

傳回值

類型: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 命名空間