Partager via


IVsDataSource.GetProperty, méthode (Guid, String)

Obtient une propriété de la source de données de DDEX rapportées par un fournisseur de prise en charge spécifique de DDEX.

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

Syntaxe

'Déclaration
Function GetProperty ( _
    provider As Guid, _
    name As String _
) As Object
Object GetProperty(
    Guid provider,
    string name
)
Object^ GetProperty(
    Guid provider, 
    String^ name
)
abstract GetProperty : 
        provider:Guid * 
        name:string -> Object
function GetProperty(
    provider : Guid, 
    name : String
) : Object

Paramètres

  • provider
    Type : Guid

    L'identificateur d'un fournisseur de prise en charge de DDEX.

  • name
    Type : String

    Nom de la propriété à récupérer.

Valeur de retour

Type : Object
La valeur de propriété, si existe ; sinon, nullune référence null (Nothing en Visual Basic).

Exceptions

Exception Condition
ArgumentNullException

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

Notes

Une source de données de DDEX peut stocker un ensemble de propriétés accessibles par les clients de DDEX pour déterminer les informations relatives à la source de données. En outre, chaque fournisseur de DDEX qui prend en charge une source de données de DDEX peut stocker des propriétés spécifiques au fournisseur associées à la source de données de DDEX.

Lorsque le paramètre provider est un GUID vide, cette méthode récupère une valeur de propriété de la source de données globale en ouvrant la clé de Registre de la racine de la source de données de DDEX (sous les sources de données tapez la ruche locale de Registre Visual Studio) et en demandant une valeur sous la clé dont namespécifié. Lorsque le paramètre de fournisseur est un identificateur de prise en charge valide de fournisseur de DDEX, cette méthode récupère une valeur de propriété de la source de données spécifique au fournisseur en ouvrant la sous-clé de prise en charge du fournisseur sous la clé de Registre de la racine de la source de données et en demandant une valeur sous la sous-clé avec le namespécifié. Une fois qu'une propriété spécifique a été demandée, sa valeur est stockée en mémoire par le runtime de DDEX et pas actualisées jusqu'à ce que Visual Studio redémarré.

Exemples

Le code suivant illustre l'implémentation de la propriété DisplayName. Les chaînes localisées sont fournies uniquement par les fournisseurs de prise en charge, elle détermine un fournisseur de prise en charge approprié à utiliser selon le fournisseur par défaut et/ou que les fournisseurs -vous que valeurs pour la propriété DisplayName. Il résout celle-ci à la chaîne localisée réelle à l'aide de l'API fournisseur de DDEX.

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

public class DDEX_IVsDataSourceExample2
{
    public static string GetSourceDisplayName(
        IServiceProvider serviceProvider,
        IVsDataSource dataSource)
    {
        string displayName = null;
        string resourceId = null;
        Guid provider = dataSource.DefaultProvider;
        if (provider != Guid.Empty)
        {
            resourceId = dataSource.GetProperty(provider, "DisplayName") as string;
        }
        if (resourceId == null)
        {
            foreach (Guid providerId in dataSource.GetProviders())
            {
                resourceId = dataSource.GetProperty(
                    providerId, "DisplayName") as string;
                if (resourceId != null)
                {
                    provider = providerId;
                    break;
                }
            }
        }
        if (provider != Guid.Empty && resourceId != null)
        {
            IVsDataProviderManager providerManager = serviceProvider.GetService(
                typeof(IVsDataProviderManager)) as IVsDataProviderManager;
            IVsDataProvider dataProvider = providerManager.Providers[provider];
            displayName = dataProvider.GetString(resourceId);
        }
        return displayName;
    }
}

Sécurité .NET Framework

Voir aussi

Référence

IVsDataSource Interface

GetProperty, surcharge

Microsoft.VisualStudio.Data.Core, espace de noms