共用方式為


IVsDataSourceSpecializer.GetType 方法

解決特定提供者型別名稱為其對應的 Type 表示,的特定 DDEX 資料來源。

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

語法

'宣告
Function GetType ( _
    source As Guid, _
    typeName As String _
) As Type
Type GetType(
    Guid source,
    string typeName
)
Type^ GetType(
    Guid source, 
    String^ typeName
)
abstract GetType : 
        source:Guid * 
        typeName:string -> Type
function GetType(
    source : Guid, 
    typeName : String
) : Type

參數

  • source
    類型:Guid

    DDEX 資料來源識別項。

  • typeName
    類型:String

    提供者特定型別名稱。

傳回值

類型:Type
表示型別的 Type 物件從指定的 DDEX 資料來源中指定的型別名稱解析,,,如果有找到,否則, nullnull 參考 (即 Visual Basic 中的 Nothing)。

例外狀況

例外狀況 條件
ArgumentNullException

typeName 參數為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

備註

提供者會實作這個方法,以取得型別指定為字串的名稱的格式 (例如資料支援 XML 檔案時,檔案,而且這些型別名稱不能以 CLR 的 GetType 方法自動解析 (或會不正確地剖析)。 對這個方法的一個用法是展開發生未指定的命名空間。 (例如,因此,如果字串為「MyType」它可能會展開為「Company.Product.MyType」,在 CLR 剖析它之前)。

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

範例

下列程式碼中實作這個方法預先規劃不同的命名空間加入至任何型別名稱,根據 DDEX 資料來源。 這個範例會從框架 DataSourceSpecializer 類別繼承,以提供其他介面方法的預設實作。

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

public class MySourceSpecializer5 : DataSourceSpecializer
{
    private static readonly Guid s_dataSource1 =
        new Guid("EB5246D3-277C-4277-910F-111CB9EAD253");

    public override Type GetType(Guid source, string typeName)
    {
        if (source == s_dataSource1)
        {
            typeName = "Company.DdexProvider.Source1." + typeName;
        }
        else
        {
            typeName = "Company.DdexProvider." + typeName;
        }
        return GetType().Assembly.GetType(typeName);
    }
}

.NET Framework 安全性

請參閱

參考

IVsDataSourceSpecializer 介面

Microsoft.VisualStudio.Data.Core 命名空間