Partager via


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

Obtient une propriété de la source de données de DDEX telles qu'enregistrées par un fournisseur qui prend 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 : System.Guid
    L'identificateur d'un fournisseur de prise en charge de DDEX.
  • name
    Type : System.String
    Nom de la propriété à récupérer.

Valeur de retour

Type : System.Object
La valeur de la 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 d' 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é qui a 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é du fournisseur qui prend en charge sous la clé de Registre de la racine de la source de données et en demandant une valeur sous la sous-clé avec namespécifié.Une fois qu'une propriété spécifique a été demandée, sa valeur est enregistrée dans la mémoire par le runtime de DDEX et pas actualisée jusqu'à ce que Visual Studio n'aurez pas redémarré.

Exemples

Le code suivant illustre l'implémentation de la propriété d' DisplayName .Étant donné que les chaînes localisées sont fournies uniquement en prenant en charge les fournisseurs, elle détermine un fournisseur qui prend en charge approprié à utiliser selon le fournisseur par défaut et/ou que les fournisseurs -vous des valeurs pour la propriété d' DisplayName .Il résout ensuite faire à 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