Main Content

静的 .NET プロパティの設定

System.Environment.CurrentDirectory 静的プロパティの設定

この例では、関数 NET.setStaticProperty を使用して静的プロパティを設定する方法を説明します。

System.Environment クラス内の CurrentDirectory プロパティは、静的な読み取りまたは書き込みプロパティです。次のコードは、フォルダー temp を現在のフォルダーに作成し、CurrentDirectory プロパティを新しいフォルダーに変更します。

現在のフォルダーを設定します。

cd('C:\Work')

CurrentDirectory プロパティを設定します。

saveDir = System.Environment.CurrentDirectory;
newDir = [char(saveDir) '\temp'];
mkdir(newDir)
NET.setStaticProperty('System.Environment.CurrentDirectory',newDir)
System.Environment.CurrentDirectory
ans = 

C:\Work\temp

CurrentDirectory の元の値を復元します。

NET.setStaticProperty('System.Environment.CurrentDirectory',saveDir)

静的プロパティには ClassName.PropertyName 構文を使用しない

この例では、クラス プロパティが設定される代わりにどのようにして配列 struct が間違って作成されるかを示します。

静的プロパティの設定に ClassName.PropertyName 構文を使用すると、MATLAB® は配列 struct を作成します。

次のコードは System という名前の構造体を作成します。

saveDir = System.Environment.CurrentDirectory;
newDir = [char(saveDir) '\temp'];
System.Environment.CurrentDirectory = newDir;
whos
  Name         Size            Bytes  Class

  System       1x1               376  struct
  newDir       1x12               24  char
  saveDir      1x1               112  System.String

System 名前空間のメンバーの使用を試みます。

oldDate = System.DateTime(1992,3,1);
Reference to non-existent field 'DateTime'.

環境を復元するには、以下を入力します。

clear System
NET.setStaticProperty('System.Environment.CurrentDirectory',saveDir)