Freigeben über


IVsDataProviderObjectFactory.CreateObject-Methode

Erstellt eine Instanz der angegebenen DDEX-Stützentität, die vom DDEX-Anbieter implementiert wird.

Namespace:  Microsoft.VisualStudio.Data.Core
Assembly:  Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)

Syntax

'Declaration
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

Parameter

  • objType
    Typ: Type

    Ein Typ DDEX-Stützentität.

Rückgabewert

Typ: Object
Eine Instanz der angegebenen DDEX-Stützentität, die vom DDEX-Anbieter implementiert wird, wenn der DDEX-Anbieter dies unterstützt; andernfalls nullein Nullverweis (Nothing in Visual Basic).

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

Der objType-Parameter ist nullein Nullverweis (Nothing in Visual Basic).

Hinweise

Wahrscheinlich stellt ermöglicht die wichtigste Methode in der DDEX-Plattform, diese Methode den Kern des Erweiterbarkeitsmodells dar, einen an den Anbieter übergeben werden abstrakten Typ (beispielsweise, eine Schnittstelle oder eine Basisklasse) und ruft anschließend die Implementierung eines Anbieters dieses Typs ab. Ein Anbieter implementiert diese Methode, um der obersten Ebene h. Datenbindungen zurückzugeben Stützentitäten, die normalerweise direkt von einem Client im Gegensatz zu indirekt eine Datenverbindung für einen Dienst den abfragen oder einen Typ erstellen erstellt werden, der von einer Datenunterstützungsxml-datei verwiesen wird.

Beispiele

Der folgende Code zeigt, wie diese Methode implementiert, um mehrere Standardstützentitäten zu erstellen. Das Beispiel erbt von der DataProviderObjectFactory-Frameworkklasse, die eine Standardimplementierung der GetType und GetAssembly-Methoden bereitstellt.

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() {}

}

.NET Framework-Sicherheit

Siehe auch

Referenz

IVsDataProviderObjectFactory Schnittstelle

Microsoft.VisualStudio.Data.Core-Namespace