Skip to content

Using existing static classes

These classes are reference libraries of methods and properties that do not change state, in one word, immutable. You don’t need to create them, you simply use them. Classes and methods such as these are called static classes because they are not created, destroyed, or changed.You can refer to a static class by surrounding the class name with square brackets.

You can use the .Net Math class to do calculations ([System.Math])

If you want to know which methods are available you can use:

Terminal window
[System.Math] | Get-Member -Static -MemberType Methods

Here are some examples how to use the Math class:

Terminal window
PS C:\> [System.Math]::Floor(9.42)
9
PS C:\> [System.Math]::Ceiling(9.42)
10
PS C:\> [System.Math]::Pow(4,3)
64
PS C:\> [System.Math]::Sqrt(49)
7

By Assembly Name, add library

Terminal window
Add-Type -AssemblyName "System.Math"

or by file path:

Terminal window
Add-Type -Path "D:\Libs\CustomMath.dll"

To Use added type:

Terminal window
[CustomMath.NameSpace]::Method(param1, $variableParam, [int]castMeAsIntParam)

Use existing .NET classes instantly with PowerShell by using [class]::Method(args):

Terminal window
PS C:\> [guid]::NewGuid()
Guid
----
8874a185-64be-43ed-a64c-d2fe4b6e31bc

Similarly, in PowerShell 5+ you may use the New-Guid cmdlet:

Terminal window
PS C:\> New-Guid
Guid
----
8874a185-64be-43ed-a64c-d2fe4b6e31bc

To get the GUID as a [String] only, referenced the .Guid property:

Terminal window
[guid]::NewGuid().Guid