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 のサポートのエンティティの異なる実装を作成することができます。このの 1 例は、Microsoft SQL Server DDEX プロバイダーに 2 個の実装がある IVsDataConnectionUIControl のサポートのエンティティとして実行されます: データベースのファイル名 (Microsoft SQL Server データベース ファイル データ ソース) を使用して SQL Server Express Edition への接続のサーバー名 (Microsoft SQL Server のデータ ソース、および 1) を使用して SQL Server への接続の 1 つが。

次のコードでは、2 とおりのデータ ソースの標準サポートのエンティティの 1 種類を作成するには、このメソッドを実行する方法を示します。この例では IVsDataSourceSpecializer のインターフェイスで他のメソッドの既定の実装を提供するフレームワークの DataSourceSpecializer のクラスから継承します。

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 名前空間