Freigeben über


IVsDataSource.GetProperty-Methode (Guid, String)

Ruft eine Eigenschaft der DDEX-Datenquelle ab, wie durch einen bestimmten DDEX-Anbieter unterstützenden registriert.

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

Syntax

'Declaration
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

Parameter

  • provider
    Typ: Guid

    Der Bezeichner eines unterstützenden DDEX-Anbieters.

  • name
    Typ: String

    Der Name der abzurufenden Eigenschaft.

Rückgabewert

Typ: Object
Der Wert der Eigenschaft, wenn vorhanden; andernfalls nullein Nullverweis (Nothing in Visual Basic).

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

Der name-Parameter war nullein Nullverweis (Nothing in Visual Basic).

Hinweise

Eine DDEX-Datenquelle kann einen Eigenschaftensatz registrieren, auf die von DDEX-Clients zugreifen, um Informationen über die Datenquelle zu ermitteln. Außerdem kann jede DDEX-Anbieter, der eine DDEX-Datenquelle unterstützt, die anbieterspezifischen Eigenschaften registrieren, die mit der DDEX-Datenquelle zugeordnet werden.

Wenn der Parameter provider eine leere GUID ist, ruft diese Methode einen globalen Datenquelleneigenschaftswert ab, mit dem der DDEX-Stammregistrierungsschlüssel Datenquelle (mit Datenquellen verschlüsseln Sie in lokalen Registrierungshive Visual Studio), wird geöffnet und einen Wert unter der Schlüssel anfordert, die angegebene name. Wenn der Anbieterparameter ein gültiger unterstützender DDEX-Anbieterbezeichner ist, ruft diese Methode einen anbieterspezifischen Datenquelleneigenschaftswert ab, indem der unterstützenden Unterschlüssel des Anbieters unter dem Stammregistrierungsschlüssel der Datenquelle wird geöffnet und einen Wert unter diesem Unterschlüssel mit angegebenen name anfordert. Nachdem eine bestimmte Eigenschaft angefordert wurde, wird sein Wert im Arbeitsspeicher von der DDEX-Laufzeit gespeichert und aktualisiert erst, wenn Visual Studio neu gestartet wurde.

Beispiele

Im folgenden Code wird die Implementierung der Eigenschaft DisplayName. Da lokalisierte Zeichenfolgen bereitgestellt werden, werden nur vom Unterstützen von Anbietern, bestimmt sie einen entsprechenden unterstützenden Anbieter, um auf Grundlage den Standardanbieter verwenden und/oder den Anbieter Werte für die DisplayName-Eigenschaft angeben. Er löst dann dieses zur tatsächlichen lokalisierten Zeichenfolge auf, indem er die DDEX-Anbieter API verwendet.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

IVsDataSource Schnittstelle

GetProperty-Überladung

Microsoft.VisualStudio.Data.Core-Namespace