IVsDataProviderObjectFactory.GetAssembly 方法

解析一个提供程序特定的程序集字符串与其对应的 Assembly 表示。

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

语法

声明
Function GetAssembly ( _
    assemblyString As String _
) As Assembly
Assembly GetAssembly(
    string assemblyString
)
Assembly^ GetAssembly(
    String^ assemblyString
)
abstract GetAssembly : 
        assemblyString:string -> Assembly 
function GetAssembly(
    assemblyString : String
) : Assembly

参数

  • assemblyString
    类型:System.String
    一个提供程序特定的程序集字符串。

返回值

类型:System.Reflection.Assembly
表示程序集的 Assembly 解析对象从指定的程序集字符串,因此,如果找到;否则,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解决它。)。

提供此方法缩短类型名称的提供程序的规范,这有助于减少一个常用的程序集复制到代码库中的。

示例

下面的代码演示如何实现此方法返回提供程序工厂对象包含的程序集,如果程序集字符串为null。此示例从结构 DataProviderObjectFactory 选件类继承,提供 GetTypeGetAssembly 方法的默认实现。

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

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

    public override Assembly GetAssembly(string assemblyString)
    {
        if (assemblyString == null)
        {
            throw new ArgumentNullException("assemblyString");
        }
        if (assemblyString.Length == 0)
        {
            return GetType().Assembly;
        }
        return base.GetAssembly(assemblyString);
    }
}

.NET Framework 安全性

请参见

参考

IVsDataProviderObjectFactory 接口

Microsoft.VisualStudio.Data.Core 命名空间