次の方法で共有


AppDomain.GetData メソッド

現在のアプリケーション ドメイン内に格納されている、指定したデータ名の値を取得します。

Public Overridable Function GetData( _
   ByVal name As String _) As Object Implements _AppDomain.GetData
[C#]
public virtual object GetData(stringname);
[C++]
public: virtual Object* GetData(String* name);
[JScript]
public function GetData(
   name : String) : Object;

パラメータ

  • name
    アプリケーション ドメイン プロパティの名前。

戻り値

name プロパティの値。

実装

_AppDomain.GetData

例外

例外の種類 条件
ArgumentNullException name が null 参照 (Visual Basic では Nothing) です。
AppDomainUnloadedException 操作が、アンロードされたアプリケーション ドメインで試行されています。

解説

このメソッドを使用すると、 AppDomain のこのインスタンスのプロパティを記述している名前とデータの組み合わせの内部キャッシュ内のエントリの値を取得できます。

キャッシュには、アプリケーション ドメインの作成時に挿入される定義済みのシステム エントリが自動的に格納されます。この値は、 GetData メソッドまたは同等の AppDomainSetup のプロパティを使用して検査できます。この値を編集するには、該当する AppDomainSetup のプロパティを使用します。

独自のユーザー定義の名前とデータの組み合わせを挿入または編集するには、 SetData メソッドを使用し、その値を検査するには、 GetData メソッドを使用します。

定義済みの各システム エントリの name とそれに対応する AppDomainSetup プロパティの一覧を次の表に示します。

name の値 プロパティ
"APPBASE" ApplicationBase
"APP_CONFIG_FILE" ConfigurationFile
"DYNAMIC_BASE" DynamicBase
"DEV_PATH" (プロパティなし)
"APP_NAME" ApplicationName
"CACHE_BASE" PrivateBinPath
"BINPATH_PROBE_ONLY" PrivateBinPathProbe
"SHADOW_COPY_DIRS" ShadowCopyDirectories
"FORCE_CACHE_INSTALL" ShadowCopyFiles
"CACHE_BASE" CachePath
(アプリケーション固有) LicenseFile

使用例

 
Imports System
Imports System.Reflection



Class ADGetData
   
   
   Public Shared Sub Main()
      ' appdomain setup information
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      
      'set predefined system variable application name
      Dim dataName As [String] = "APP_NAME"
      Dim setappname As [String] = "MyApplication"
      currentDomain.SetData(dataName, setappname)
      
      'Create a new value pair for the appdomain
      Dim dataValue As [String] = "ADVALUE"
      Dim advalue As Int32 = 6
      currentDomain.SetData(dataValue, advalue)
      
      'get the value specified in the setdata method
      Console.WriteLine((" ADVALUE is: " + currentDomain.GetData("ADVALUE")))
      
      'get system value specified at appdomainsetup
      Console.WriteLine(("System value for application name:" + currentDomain.GetData("APP_NAME")))
   End Sub 'Main 
End Class 'ADGetData

[C#] 
using System;
using System.Reflection;

class ADGetData 
{

    public static void Main() 
    {
        // appdomain setup information
        AppDomain currentDomain = AppDomain.CurrentDomain;

        //set predefined system variable application name
        String dataName = "APP_NAME";
        String setappname = "MyApplication";
        currentDomain.SetData(dataName, setappname);

        //Create a new value pair for the appdomain
        String dataValue = "ADVALUE";
        Int32 advalue = 6;
        currentDomain.SetData(dataValue, advalue);

        //get the value specified in the setdata method
        Console.WriteLine(" ADVALUE is: " + currentDomain.GetData("ADVALUE"));

        //get system value specified at appdomainsetup
        Console.WriteLine("System value for application name:" + currentDomain.GetData("APP_NAME"));
        
    }
   
    
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::Reflection;

int main() {
   // appdomain setup information
   AppDomain*  currentDomain = AppDomain::CurrentDomain;

   //set predefined system variable application name
   String*  dataName = S"APP_NAME";
   String*  setappname = S"MyApplication";
   currentDomain->SetData(dataName, setappname);

   //Create a new value pair for the appdomain
   String*  dataValue = S"ADVALUE";
   Int32 advalue = 6;
   currentDomain->SetData(dataValue, __box(advalue));

   //get the value specified in the setdata method
   Console::WriteLine(S" ADVALUE is: {0}", currentDomain->GetData(S"ADVALUE"));

   //get system value specified at appdomainsetup
   Console::WriteLine(S"System value for application name: {0}", currentDomain->GetData(S"APP_NAME"));

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

AppDomain クラス | AppDomain メンバ | System 名前空間 | SetData