Condividi tramite


Metodo IVsDataSourceSpecializer.GetAssembly

Risolve una stringa specifica dell'assembly nella relativa rappresentazione corrispondente Assembly, per un'origine dati specifica di DDEX.

Spazio dei nomi:  Microsoft.VisualStudio.Data.Core
Assembly:  Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)

Sintassi

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

Parametri

  • source
    Tipo: Guid

    Un identificatore di origine dati di DDEX.

  • assemblyString
    Tipo: String

    Una stringa specifica dell'assembly.

Valore restituito

Tipo: Assembly
Un oggetto Assembly che rappresenta l'assembly risolto dalla stringa specificata dell'assembly, per l'origine dati specificata di DDEX, se disponibile; in caso contrario, nullriferimento null (Nothing in Visual Basic).

Eccezioni

Eccezione Condizione
ArgumentNullException

Il parametro assemblyString è nullriferimento null (Nothing in Visual Basic).

Note

Un provider implementa questo metodo quando sono presenti nomi di assembly specificati come stringhe in formati come un file XML di supporto di dati e i nomi di assembly non possono essere risolti automaticamente o venga risolto correttamente) con il metodo Load di CLR. L'utilizzo di questo metodo è di espandere una dichiarazione completa dell'assembly. Ad esempio, se la stringa è "MyAssembly" può ottenere espansa a "MyAssembly, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=1234567890ABCDEF" prima che CLR lo risolva.)

Questo metodo viene fornito per ridurre la specifica di un provider dei nomi di tipo, che possono ridurre la duplicazione di un assembly di uso comune nella codebase. La specializzazione di origine dati fornita da questo metodo ulteriormente consente l'utilizzo delle stringhe comuni dell'assembly per fare riferimento agli assembly potenzialmente diversi quando le origini dati diverse di DDEX sono inviate dal client.

Esempi

Il codice seguente viene illustrato come implementare questo metodo per restituire gli assembly diversi a seconda dell'origine dati di DDEX. L'esempio eredita dalla classe DataSourceSpecializer del framework, che fornisce un'implementazione predefinita degli altri metodi dell'interfaccia.

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);
        }
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

IVsDataSourceSpecializer Interfaccia

Spazio dei nomi Microsoft.VisualStudio.Data.Core