共用方式為


IVsDataSource.GetProperty 方法 (Guid, String)

取得 DDEX 資料來源的屬性標記是由特定支援的 DDEX 提供者。

命名空間:  Microsoft.VisualStudio.Data.Core
組件:  Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)

語法

'宣告
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

參數

  • provider
    類型:Guid

    受支援的 DDEX 提供者的識別項。

  • name
    類型:String

    要擷取的屬性名稱。

傳回值

類型:Object
屬性的值,則為,如果存在;則為,否則為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

例外狀況

例外狀況 條件
ArgumentNullException

name 參數為 nullnull 參考 (即 Visual Basic 中的 Nothing)。

備註

DDEX 資料來源可能是由 DDEX 用戶端存取決定資料來源的資訊的一組屬性。 此外,支援 DDEX 資料來源的每 DDEX 提供者可以註冊提供者特定屬性與 DDEX 資料來源。

如果 provider 參數是空的 GUID 時,這個方法會開啟 DDEX 資料來源的根登錄機碼 (資料來源輸入下 Visual Studio 區域登錄區) 和要求值擷取全域資料來源屬性值具有指定之 name的機碼。 當提供者參數是有效的支援的 DDEX 提供者識別項時,這個方法會開啟支援的提供者的子機碼資料來源的根登錄機碼下和要求值擷取提供者專用的資料來源屬性值在與指定之 name的這個子機碼下。 在特定屬性要求後,它的值在記憶體中保存在 DDEX 執行階段並不會重新整理,直到 Visual Studio 重新啟動。

範例

下列程式碼示範 DisplayName 屬性的實作。 由於支援提供者只提供當地語系化字串,它會判斷適當的支援的提供者會根據和/或提供者的 DisplayName 屬性值的預設提供者的用途。 使用 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;
    }
}

.NET Framework 安全性

請參閱

參考

IVsDataSource 介面

GetProperty 多載

Microsoft.VisualStudio.Data.Core 命名空間