Método IVsDataProviderObjectFactory.CreateObject
Cria uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX.
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (em Microsoft.VisualStudio.Data.Core.dll)
Sintaxe
'Declaração
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: System.Type
Um tipo de entidade suporte de DDEX.
Valor de retorno
Tipo: System.Object
Uma instância de entidade especificada de suporte de DDEX que é implementada pelo provedor de DDEX, se o provedor de DDEX o oferece suporte; caso contrário, nulluma referência nula (Nothing no Visual Basic).
Exceções
Exceção | Condição |
---|---|
ArgumentNullException | o parâmetro de objType é nulluma referência nula (Nothing no Visual Basic). |
Comentários
O método provavelmente o mais importante na plataforma de DDEX, esse método representa o núcleo do modelo de extensibilidade, permitindo que um tipo abstrato (por exemplo, interface ou uma classe base) é passado para o provedor e obtendo a voltar a implementação de um provedor de esse tipo.Um provedor implementa este método para retornar entidades de nível superior de suporte, isto é, essas normalmente criados diretamente por um cliente indiretamente pela o contrário de ver uma conexão de dados para um serviço ou criar um tipo que é referenciado em um arquivo XML de suporte de dados.
Exemplos
O código a seguir demonstra como implementar esse método para criar um número de entidades padrão de suporte.O exemplo herda da classe de DataProviderObjectFactory estrutura, que fornece uma implementação padrão dos métodos de GetType e 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() {}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.