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
    类型:System.Guid
    DDEX数据源标识符。
  • typeName
    类型:System.String
    一个提供程序特定的类型名称。

返回值

类型:System.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 命名空间