Compartir a través de


IVsDataSourceSpecializer.GetType (Método)

Resuelve un nombre de tipo proveedor- concreto en su representación correspondiente de Type , para un origen de datos específico de DDEX.

Espacio de nombres:  Microsoft.VisualStudio.Data.Core
Ensamblado:  Microsoft.VisualStudio.Data.Core (en Microsoft.VisualStudio.Data.Core.dll)

Sintaxis

'Declaración
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

Parámetros

  • source
    Tipo: Guid

    Un identificador de origen de datos de DDEX.

  • typeName
    Tipo: String

    Un nombre de tipo proveedor- concreto.

Valor devuelto

Tipo: Type
Un objeto de Type que representa el tipo resuelto del nombre de tipo especificado, para el origen de datos especificado de DDEX, si se encuentra; si no, nullreferencia null (Nothing en Visual Basic).

Excepciones

Excepción Condición
ArgumentNullException

El valor del parámetro typeName es nullreferencia null (Nothing en Visual Basic).

Comentarios

Un proveedor implementa este método cuando hay nombres de tipo especificados como cadenas en formatos como un archivo XML de la compatibilidad de los datos, y estos nombres de tipo no se pueden resolver automáticamente (o ser resuelto incorrectamente) por el método de GetType de CLR. Un uso de este método sería expandir un espacio de nombres sin especificar. (Por ejemplo, si la cadena es “MyType” puede obtener expandido a “Company.Product.MyType” antes de que CLR lo resuelva.)

Este método se proporciona para acortar la especificación de un proveedor de nombres de tipo, que pueden ayudar a reducir la duplicación de elementos, como un espacio de nombres común, en la base de código. La especialización de origen de datos proporcionado por este método aún más permisos mediante nombres de tipo comunes para hacer referencia a tipos potencialmente diferentes cuando los orígenes de datos diferentes de DDEX están dirigidos por el cliente.

Ejemplos

El código siguiente muestra cómo implementar este método para anteponer diferentes espacios de nombres en todos los nombres de tipo, dependiendo del origen de datos de DDEX. El ejemplo hereda de la clase de DataSourceSpecializer de marco, que proporciona una implementación predeterminada de los otros métodos de la interfaz.

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

Seguridad de .NET Framework

Vea también

Referencia

IVsDataSourceSpecializer Interfaz

Microsoft.VisualStudio.Data.Core (Espacio de nombres)