Show / Hide Table of Contents

# Class Utils

A class providing static utility functions that in any other language would just exist.

##### Inheritance

Object
Utils

##### Inherited Members

Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()

###### Namespace: IPA.Utilities

###### Assembly: IPA.Loader.dll

##### Syntax

    public static class Utils

### Properties

| Improve this Doc View Source

#### CanUseDateTimeNowSafely

Whether you can safely use Now without Mono throwing a fit.

##### Declaration

    public static bool CanUseDateTimeNowSafely { get; }

##### Property Value

Type | Description
--- | ---
Boolean | true if you can use Now safely, false otherwise

### Methods

| Improve this Doc View Source

#### ByteArrayToString(Byte[])

Converts a byte array to a hex string.

##### Declaration

    public static string ByteArrayToString(byte[] ba)

##### Parameters

Type | Name | Description
--- | --- | ---
Byte[] | ba | the byte array

##### Returns

Type | Description
--- | ---
String | the hex form of the array

| Improve this Doc View Source

#### CopyAll(DirectoryInfo, DirectoryInfo, String, Func<Exception, FileInfo, Boolean>)

Copies all files from `source` to `target`.

##### Declaration

    public static void CopyAll(DirectoryInfo source, DirectoryInfo target, string appendFileName = "", Func<Exception, FileInfo, bool> onCopyException = null)

##### Parameters

Type | Name | Description
--- | --- | ---
DirectoryInfo | source | the source directory
DirectoryInfo | target | the destination directory
String | appendFileName | the filename of the file to append together
Func<Exception, FileInfo, Boolean> | onCopyException | a delegate called when there is an error copying. Return true to keep going.

| Improve this Doc View Source

#### CurrentTime()

Gets the current DateTime if supported, otherwise, if Mono would throw a fit, returns MinValue plus some value, such that each time it is called the value will be greater than the previous result. Not suitable for timing.

##### Declaration

    public static DateTime CurrentTime()

##### Returns

Type | Description
--- | ---
DateTime | the current DateTime if supported, otherwise some indeterminant increasing value.

| Improve this Doc View Source

#### GetRelativePath(String, String)

Gets a path relative to the provided folder.

##### Declaration

    public static string GetRelativePath(string file, string folder)

##### Parameters

Type | Name | Description
--- | --- | ---
String | file | the file to relativize
String | folder | the source folder

##### Returns

Type | Description
--- | ---
String | a path to get from `folder` to `file`

| Improve this Doc View Source

#### StringToByteArray(String)

Converts a hex string to a byte array.

##### Declaration

    public static byte[] StringToByteArray(string hex)

##### Parameters

Type | Name | Description
--- | --- | ---
String | hex | the hex stream

##### Returns

Type | Description
--- | ---
Byte[] | the corresponding byte array

| Improve this Doc View Source

#### UnsafeCompare(Byte[], Byte[])

Uses unsafe code to compare 2 byte arrays quickly.

##### Declaration

    public static bool UnsafeCompare(byte[] a1, byte[] a2)

##### Parameters

Type | Name | Description
--- | --- | ---
Byte[] | a1 | array 1
Byte[] | a2 | array 2

##### Returns

Type | Description
--- | ---
Boolean | whether or not they are byte-for-byte equal

| Improve this Doc View Source

#### VersionCompareNoPrerelease(Version, Version)

Compares a pair of SemVer.Versions ignoring both the prerelease and build fields.

##### Declaration

    public static int VersionCompareNoPrerelease(Version l, Version r)

##### Parameters

Type | Name | Description
--- | --- | ---
SemVer.Version | l | the left value
SemVer.Version | r | the right value

##### Returns

Type | Description
--- | ---
Int32 | < 0 if l is less than r, 0 if they are equal in the numeric portion, or > 0 if l is greater than r