Freigeben über


IVsDataSourceSpecializer.GetAssembly-Methode

Löst eine anbieterspezifische Assemblyzeichenfolge zu der entsprechenden Assembly Darstellung, für eine Datenquelle der spezifischen DDEX auf.

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

Syntax

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

Parameter

  • source
    Typ: Guid

    Ein DDEX-Datenquellenbezeichner.

  • assemblyString
    Typ: String

    Eine anbieterspezifische Assemblyzeichenfolge.

Rückgabewert

Typ: Assembly
Ein Assembly-Objekt, das die Assembly aufgelöst aus der angegebenen Assemblyzeichenfolge, für die angegebene DDEX-Datenquelle darstellt, wenn Sie gefunden werden; andernfalls nullein Nullverweis (Nothing in Visual Basic).

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

Der assemblyString-Parameter ist nullein Nullverweis (Nothing in Visual Basic).

Hinweise

Ein Anbieter implementiert diese Methode, wenn die Assemblynamen gibt, die als Zeichenfolgen in Stilen wie einer Datenunterstützungsxml-datei angegeben werden, und diese Assemblynamen können nicht (oder sind falsch aufgelöst Sie), durch die Load-Methode der CLR automatisch aufgelöst werden. Ein Verwendung dieser Methode würde, eine unvollständige Assemblydeklaration zu erweitern sein. (beispielsweise, wenn die Zeichenfolge "MyAssembly" ist, kann sie möglicherweise erweitert zu "MyAssembly, Version= 2.0.0.0, Culture=neutral PublicKeyToken=1234567890ABCDEF" ab, bevor die CLR es auflöst.)

Diese Methode wird bereitgestellt, um die Spezifikation eines Anbieters von Typnamen zu verkürzen, die helfen können, Duplizierung einer häufig verwendete Assemblys in der CodeBase zu reduzieren. Die Datenquellenspezialisierung, die dadurch aktiviert angegeben wird weiter, mithilfe der allgemeinen Assemblyzeichenfolgen, um verschiedene Assemblys möglicherweise zu verweisen, wenn verschiedene DDEX-Datenquellen vom Client verwendet werden.

Beispiele

Der folgende Code zeigt, wie diese Methode implementiert, um verschiedene Assemblys abhängig von der DDEX-Datenquelle zurückzugeben. Das Beispiel erbt von der DataSourceSpecializer-Frameworkklasse, die eine Standardimplementierung der anderen Methoden auf der Schnittstelle bereitstellt.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

IVsDataSourceSpecializer Schnittstelle

Microsoft.VisualStudio.Data.Core-Namespace