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 プロパティの値。
実装
例外
例外の種類 | 条件 |
---|---|
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 セキュリティ:
- FileIOPermission (ファイルまたはディレクトリから読み取るためのアクセス許可、またはパス自体の情報に対するアクセス許可) FileIOPermissionAccess.Read 、 FileIOPermissionAccess.PathDiscovery (関連する列挙体)