次の方法で共有


IVsDataProviderObjectFactory.GetAssembly Method

Resolves a provider-specific assembly string to its corresponding Assembly representation.

Namespace:  Microsoft.VisualStudio.Data.Core
Assembly:  Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)

Syntax

'宣言
Function GetAssembly ( _
    assemblyString As String _
) As Assembly
'使用
Dim instance As IVsDataProviderObjectFactory
Dim assemblyString As String
Dim returnValue As Assembly

returnValue = instance.GetAssembly(assemblyString)
Assembly GetAssembly(
    string assemblyString
)
Assembly^ GetAssembly(
    String^ assemblyString
)
function GetAssembly(
    assemblyString : String
) : Assembly

Parameters

  • assemblyString
    Type: System.String

    A provider-specific assembly string.

Return Value

Type: System.Reflection.Assembly

An Assembly object representing the assembly resolved from the specified assembly string, if found; otherwise, a null reference (Nothing in Visual Basic).

Exceptions

Exception Condition
ArgumentNullException

The assemblyString parameter is a null reference (Nothing in Visual Basic).

Remarks

A provider implements this method when there are assembly names specified as strings in formats such as a data support XML file, and these assembly names cannot be automatically resolved (or would be resolved incorrectly) by the CLR’s Load method. One use of this method would be to expand an incomplete assembly declaration. (For example, if the string is "MyAssembly", it might get expanded to "MyAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=1234567890ABCDEF" before the CLR resolves it.)

This method is provided to shorten a provider’s specification of type names, which can help reduce duplication of a commonly used assembly throughout the code base.

Examples

The following code demonstrates how to implement this method to return the assembly in which the provider object factory is contained if the assembly string is empty. The example inherits from the framework DataProviderObjectFactory class, which provides a default implementation of the GetType and GetAssembly methods.

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);
    }
}

Permissions

See Also

Reference

IVsDataProviderObjectFactory Interface

IVsDataProviderObjectFactory Members

Microsoft.VisualStudio.Data.Core Namespace