Compartir a través de


IVsDataProviderObjectFactory.CreateObject (Método)

Crea una instancia de la entidad especificada de soporte de DDEX implementada por el proveedor de DDEX.

Espacio de nombres:  Microsoft.VisualStudio.Data.Core
Ensamblado:  Microsoft.VisualStudio.Data.Core (en Microsoft.VisualStudio.Data.Core.dll)

Sintaxis

'Declaración
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

Parámetros

  • objType
    Tipo: Type

    Un tipo de entidad de soporte de DDEX.

Valor devuelto

Tipo: Object
Una instancia de la entidad especificada de soporte de DDEX implementada por el proveedor de DDEX, si el proveedor de DDEX lo admite; si no, nullreferencia null (Nothing en Visual Basic).

Excepciones

Excepción Condición
ArgumentNullException

El valor del parámetro objType es nullreferencia null (Nothing en Visual Basic).

Comentarios

Probablemente el método más importante de la plataforma de DDEX, este método representa el modelo de extensibilidad, el permitir un tipo abstracto (por ejemplo, una interfaz o clase base) que se pasará al proveedor y al obtener la implementación de un proveedor de este tipo. Un proveedor implementa este método para devolver las entidades admiten de nivel superior, es decir, aquellas realizadas normalmente directamente por un cliente en comparación con indirectamente por ver una conexión de datos para un servicio o crear un tipo que se hace referencia en un archivo XML de la compatibilidad de los datos.

Ejemplos

El código siguiente muestra cómo implementar este método para crear varias entidades admiten estándar. El ejemplo hereda de la clase de DataProviderObjectFactory de marco, que proporciona una implementación predeterminada de los métodos de GetType y de GetAssembly .

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

}

Seguridad de .NET Framework

Vea también

Referencia

IVsDataProviderObjectFactory Interfaz

Microsoft.VisualStudio.Data.Core (Espacio de nombres)