Documentation Center

  • Trial Software
  • Product Updates

Set Static .NET Properties

System.Environment.CurrentDirectory Example

This example shows how to set a static property using the NET.setStaticProperty function.

The CurrentDirectory property in the System.Environment class is a static, read/write property. The following code creates a folder, temp, in the current folder and changes the CurrentDirectory property to the new folder.

Set your current folder to a specific path, for example:

cd('C:\Work')

Set the CurrentDirectory property:

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

To restore the original CurrentDirectory value, type:

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

Do Not Use ClassName.PropertyName Syntax for Static Properties

This example shows how to mistakenly create a struct array instead of setting a class property.

If you use the ClassName.PropertyName syntax to set a static property, MATLAB® creates a struct array.

The following code creates a structure named 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

Try to use a member of the System namespace.

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

To restore your environment, type:

clear System
NET.setStaticProperty('System.Environment.CurrentDirectory',saveDir)
Was this topic helpful?