IVsDataProvider.SupportsObject, méthode (Guid, Type)

Détermine si un fournisseur de DDEX prend en charge le type spécifié d'entité de prise en charge DDEX pour la source de données spécifiée de DDEX.

Espace de noms :  Microsoft.VisualStudio.Data.Core
Assembly :  Microsoft.VisualStudio.Data.Core (dans Microsoft.VisualStudio.Data.Core.dll)

Syntaxe

'Déclaration
Function SupportsObject ( _
    source As Guid, _
    objType As Type _
) As Boolean
bool SupportsObject(
    Guid source,
    Type objType
)
bool SupportsObject(
    Guid source, 
    Type^ objType
)
abstract SupportsObject : 
        source:Guid * 
        objType:Type -> bool 
function SupportsObject(
    source : Guid, 
    objType : Type
) : boolean

Paramètres

  • source
    Type : System.Guid
    Un identificateur de source de données de DDEX, ou Empty pour une source de données spécifique.
  • objType
    Type : System.Type
    Un type d'entité de prise en charge DDEX.

Valeur de retour

Type : System.Boolean
true si le fournisseur de DDEX prend en charge le type spécifié d'entité de prise en charge DDEX pour la source de données spécifiée de DDEX ; sinon, false.

Exceptions

Exception Condition
ArgumentNullException

Le paramètre objType est nullune référence null (Nothing en Visual Basic).

Notes

La détermination de si un fournisseur de DDEX prend en charge une entité spécifiée en charge de DDEX repose sur des informations ajoutées au Registre par le fournisseur de DDEX.Cela permet aux clients de DDEX d'examiner les fonctionnalités d'un fournisseur spécifié sans devoir charger tout code de fournisseur.Cela est utile lorsque vous itérez au sein de l'ensemble des fournisseurs pour déterminer une liste filtrée de fournisseurs qui prennent en charge un ensemble particulier d'entités de charge.

Un fournisseur de DDEX ajoute des clés de Registre sous la clé de SupportedObjects sous leur clé de Registre racine.Ces touches fournissent les noms de chaque type d'entité services de prise en charge.Le nom de la clé doit être une chaîne non vide sans espace blanc de début ou de fin étranger et doit représenter un type pouvant être développé ou qualifié complet nom d'une entité de charge.Une entité extensible de prise en charge est un type non qualifiée nom qui est développé à un nom de type qualifié complet en ajoutant l'espace de noms de Microsoft.VisualStudio.Data.Services.SupportEntities.Il existe quelques exceptions particulières à cela.Ces exceptions sont les entités de prise en charge d' IVsDataProviderDynamicSupport et d' IVsDataSourceSpecializer , qui sont ajoutées à l'espace de noms de Microsoft.VisualStudio.Data.Core.

[!REMARQUE]

DDEX dans Visual Studio 2005 lit les clés de Registre qui identifient les types d'entité de charge dans l'assembly de Microsoft.VisualStudio.Data.DDEX dans Visual Studio 2008 lit les clés de Registre pour la compatibilité et mappe toujours les types d'entité anciens de prise en charge dans les nouveaux.Par exemple, un appel à la méthode d' SupportsObject pour un fournisseur de Visual Studio 2005 DDEX avec le type d' IVsDataConnectionProperties retourne true si le fournisseur enregistrait le type d'entité ancien de prise en charge DataConnectionProperties.

En plus de ces clés de Registre d'entité de charge, un fournisseur de DDEX pouvez ajouter les sous-clés sous une clé donnée d'entité de charge qui représentent les sources de données spécifiques de DDEX pour lesquelles l'entité de prise en charge.Si cette valeur n'existe pas, il est supposé que l'entité de prise en charge pour toutes les sources de données de DDEX.Si un ou plusieurs sous-clés existent, il est supposé que l'entité de prise en charge uniquement pour les sources de données spécifiées de DDEX.Si une entité de prise en charge a une implémentation standard pour les sources de données non spécifiques de DDEX en plus de les implémentations pour les sources de données spécifiques de DDEX, il doit exister une sous-clé avec un GUID vide.Il doit également y avoir des sous-clés pour les sources de données spécifiques de DDEX.Si aucune valeur n'est un GUID valide, elle est ignorée.

Si le type d'entité spécifié de prise en charge est défini pour avoir une implémentation par défaut, cette méthode retourne toujours true.

Exemples

Le code suivant montre comment reconnaître si un fournisseur spécifié de DDEX prend en charge une méthode pour se connecter à une source de données spécifiée dans le contexte d'une connexion interface utilisateur.

using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services.SupportEntities;

public class DDEX_IVsDataProviderExample9
{
    public static bool HasSpecialConnectForUI(
        IVsDataProvider provider, Guid source)
    {
        return provider.SupportsObject(
            source, typeof(IVsDataConnectionUIConnector));
    }
}

Sécurité .NET Framework

Voir aussi

Référence

IVsDataProvider Interface

SupportsObject, surcharge

Microsoft.VisualStudio.Data.Core, espace de noms