Sdílet prostřednictvím


IVsDataProviderObjectFactory.CreateObject – metoda

Vytvoří instanci zadané entity podporu DDEX, který je implementován zprostředkovatelem DDEX.

Obor názvů:  Microsoft.VisualStudio.Data.Core
Sestavení:  Microsoft.VisualStudio.Data.Core (v Microsoft.VisualStudio.Data.Core.dll)

Syntaxe

'Deklarace
Function CreateObject ( _
    objType As Type _
) As Object
Object CreateObject(
    Type objType
)
Object^ CreateObject(
    Type^ objType
)
abstract CreateObject : 
        objType:Type -> Object 
function CreateObject(
    objType : Type
) : Object

Parametry

Vrácená hodnota

Typ: System.Object
Instanci zadané entity DDEX podpory, který je implementován zprostředkovatelem DDEX Pokud DDEX provider podporuje. jinak null .

Výjimky

Výjimka Podmínka
ArgumentNullException

The objType parameter is nullodkaz null (Nothing v jazyce Visual Basic).

Poznámky

Pravděpodobně nejdůležitější metody platformu DDEX tato metoda představuje základní model rozšiřitelnost, umožňující abstraktní typ (například třída rozhraní nebo base) předání poskytovateli a získali zpět poskytovatele a provádění tohoto typu.Tato metoda vrátí nejvyšší úrovně podpory subjektů, ta, která obvykle vytvořené přímo klientovi dovoluje nepřímo prostřednictvím dotazů na datové připojení pro službu implementuje zprostředkovatele nebo z datového souboru XML podporu vytváření typů odkazuje.

Příklady

Následující kód ukazuje, jak implementovat tuto metodu k vytvoření čísla standardní podpora subjektů.Příklad vychází z rozhraní DataProviderObjectFactory třídy, která obsahuje výchozí provádění GetType a GetAssembly metod.

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

internal class MyProviderObjectFactory : DataProviderObjectFactory
{
    public override object CreateObject(Type objType)
    {
        if (objType == null)
        {
            throw new ArgumentNullException("objType");
        }
        if (objType == typeof(IVsDataConnectionProperties))
        {
            return new MyConnectionProperties();
        }
        if (objType == typeof(IVsDataConnectionSupport))
        {
            return new MyConnectionSupport();
        }
        return null;
    }
}

internal class MyConnectionProperties : DataConnectionProperties
{
}

internal class MyConnectionSupport : IVsDataConnectionSupport
{
    // Implement the interface methods

    public void Initialize(object providerObj) {}
    public bool Open(bool doPromptCheck) {return true;}
    public void Close() {}
    public string ConnectionString { get {return "";} set {} }
    public int ConnectionTimeout { get {return 0;} set {} }
    public DataConnectionState State { get {return DataConnectionState.Closed;} }
    public object ProviderObject { get {return null;} }

    // Inherited from System.IServiceProvider 
    public Object GetService(Type serviceType) {return null;}

    // Inherited from System.IDisposable
    public void Dispose() {}

}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

IVsDataProviderObjectFactory Rozhraní

Microsoft.VisualStudio.Data.Core – obor názvů