共用方式為


IVsDataSourceSpecializer.GetAssembly 方法

解析特定組件的字串轉換成其對應的 Assembly 表示,的特定 DDEX 資料來源。

命名空間:  Microsoft.VisualStudio.Data.Core
組件:  Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)

語法

'宣告
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

參數

  • source
    型別:System.Guid
    DDEX 資料來源識別項。
  • assemblyString
    型別:System.String
    提供者專用組件資料。

傳回值

型別:System.Reflection.Assembly
表示組件的 Assembly 物件從指定的組件中,字串剖析指定的 DDEX,資料來源中,如果有找到,否則, nullNull 參照 (即 Visual Basic 中的 Nothing)。

例外狀況

例外狀況 條件
ArgumentNullException

assemblyString 參數為 nullNull 參照 (即 Visual Basic 中的 Nothing)。

備註

提供者會實作這個方法時,會以字串形式指定的組件名稱的格式 (例如資料支援 XML 檔案時,檔案,而且這些組件名稱不能以 CLR 的 Load 方法自動解析 (或會不正確地剖析)。對這個方法的一個用法是展開不完整的組件中宣告。(例如,因此,如果字串為「MyAssembly」它可能會展開為「MyAssembly, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=1234567890ABCDEF」,在 CLR 剖析它之前)。

提供這個方法會縮短型別名稱的提供者的規格,有助於減少一個常用的組件複製到程式碼基底中。在不同的 DDEX 資料來源是由用戶端時,將會使用所提供的資料來源特製化進一步由這個方法可以讓您使用一般組件字串參考可能會使用不同的組件。

範例

下列程式碼將示範如何實作這個方法會根據 DDEX 資料來源傳回不同的組件。這個範例會從框架 DataSourceSpecializer 類別繼承,以提供其他介面方法的預設實作。

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 安全性

請參閱

參考

IVsDataSourceSpecializer 介面

Microsoft.VisualStudio.Data.Core 命名空間