IVsDataProviderObjectFactory.GetType 方法

解析一个提供程序特定的类型名称与其对应的 Type 表示。

命名空间:  Microsoft.VisualStudio.Data.Core
程序集:  Microsoft.VisualStudio.Data.Core(在 Microsoft.VisualStudio.Data.Core.dll 中)

语法

声明
Function GetType ( _
    typeName As String _
) As Type
Type GetType(
    string typeName
)
Type^ GetType(
    String^ typeName
)
abstract GetType : 
        typeName:string -> Type 
function GetType(
    typeName : String
) : Type

参数

  • typeName
    类型:System.String
    一个提供程序特定的类型名称。

返回值

类型:System.Type
表示类型的 Type 解析对象从指定的类型名称,因此,如果找到;否则,nullnull 引用(在 Visual Basic 中为 Nothing)。

异常

异常 条件
ArgumentNullException

typeName 参数为 nullnull 引用(在 Visual Basic 中为 Nothing)。

备注

提供程序实现此方法,当具有类型作为字符串中指定的名称在布局(如数据支持XML文件时,因此,这些类型名称不能由CLR的 GetType 方法自动解决(或将无法正确解析。)此方法的一个用途是扩展未指定的命名空间。(例如,因此,如果该字符串为“MyType”它可以捕获展开为“Company.Product.MyType”,在CLR解决它。)。

提供此方法缩短类型名称的提供程序的规范,这有助于减少某些元素副本,与通用命名空间,在基本代码中。

示例

下面的代码演示如何实现此方法预置常见命名空间到任何类型名称。该示例从 DataProviderObjectFactory 选件类继承,提供 GetTypeGetAssembly 方法的默认实现。

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

public class MyProviderObjectFactory3 : DataProviderObjectFactory
{
    public override object CreateObject(Type objType)
    {
        return null;
    }

    public override Type GetType(string typeName)
    {
        typeName = "Company.DdexProvider." + typeName;
        return base.GetType(typeName);
    }
}

.NET Framework 安全性

请参见

参考

IVsDataProviderObjectFactory 接口

Microsoft.VisualStudio.Data.Core 命名空间