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: TypeUn 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.