Partilhar via


Método IVsDataSourceSpecializer.GetAssembly

Resolve uma cadeia de caracteres específica do provedor do assembly em sua representação correspondente de Assembly , para uma fonte de dados específica de DDEX.

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

Sintaxe

'Declaração
Function GetAssembly ( _
    source As Guid, _
    assemblyString As String _
) As Assembly
Assembly GetAssembly(
    Guid source,
    string assemblyString
)
Assembly^ GetAssembly(
    Guid source, 
    String^ assemblyString
)
abstract GetAssembly : 
        source:Guid * 
        assemblyString:string -> Assembly 
function GetAssembly(
    source : Guid, 
    assemblyString : String
) : Assembly

Parâmetros

  • source
    Tipo: System.Guid
    Um identificador de fonte de dados de DDEX.
  • assemblyString
    Tipo: System.String
    Uma cadeia de caracteres específica do provedor do assembly.

Valor de retorno

Tipo: System.Reflection.Assembly
Um objeto de Assembly que representa o assembly solucionar de cadeia de caracteres especificada do assembly, para a fonte de dados especificada de DDEX, se encontrado; caso contrário, nulluma referência nula (Nothing no Visual Basic).

Exceções

Exceção Condição
ArgumentNullException

o parâmetro de assemblyString é nulluma referência nula (Nothing no Visual Basic).

Comentários

Um provedor implementa este método quando há nomes do assembly especificados como cadeias de caracteres nos formatos como um arquivo XML de suporte de dados, e esses nomes assembly não podem ser automaticamente resolvidos (ou) incorretamente é determinado pelo método de Load de CLR.Um uso de esse método seria expandir uma declaração incompleta do assembly.(Por exemplo, se a cadeia de caracteres é “MyAssembly” pode obter expandido para “MyAssembly, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=1234567890ABCDEF” antes que o CLR o resolver.)

Este método é fornecido para diminuir a especificação de um provedor de nomes de tipo, que podem ajudar a reduzir a evitar duplicação de um assembly comumente usadas durante a base de código.A especialização da fonte de dados fornecida por esse método permite mais usando cadeias de caracteres comuns de assembly para referenciar assemblies potencialmente diferentes quando as fontes de dados diferentes de DDEX são direcionados pelo cliente.

Exemplos

O código a seguir demonstra como implementar esse método para retornar os assemblies diferentes dependendo da fonte de dados de DDEX.O exemplo herda da classe de DataSourceSpecializer estrutura, que fornece uma implementação padrão dos outros métodos da interface.

using System;
using System.Reflection;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;

public class MySourceSpecializer4 : DataSourceSpecializer
{
    private static readonly Guid s_dataSource1 =
        new Guid("EB5246D3-277C-4277-910F-111CB9EAD253");
    private static readonly Guid s_dataSource2 =
        new Guid("1EC8B196-7155-4d5a-BBDC-0CC47D631E52");

    public override Assembly GetAssembly(Guid source, string assemblyString)
    {
        if (source == s_dataSource1)
        {
            return Assembly.Load("AssemblyForDataSource1");
        }
        else if (source == s_dataSource2)
        {
            return Assembly.Load("AssemblyForDataSource2");
        }
        else
        {
            return base.GetAssembly(source, assemblyString);
        }
    }
}

Segurança do .NET Framework

Consulte também

Referência

IVsDataSourceSpecializer Interface

Namespace Microsoft.VisualStudio.Data.Core