Class Utils
A class providing static utility functions that in any other language would just exist.
Inherited Members
Namespace: IPA.Utilities
Assembly: IPA.Loader.dll
Syntax
public static class Utils
Properties
| Improve this Doc View SourceCanUseDateTimeNowSafely
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 SourceByteArrayToString(Byte[])
Converts a byte array to a hex string.
Declaration
public static string ByteArrayToString(byte[] ba)
Parameters
Type | Name | Description |
---|---|---|
System.Byte[] | ba | the byte array |
Returns
Type | Description |
---|---|
String | the hex form of the array |
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. |
CurrentTime()
Declaration
public static DateTime CurrentTime()
Returns
Type | Description |
---|---|
DateTime | the current DateTime if supported, otherwise some indeterminant increasing value. |
Deconstruct<TKey, TValue>(KeyValuePair<TKey, TValue>, out TKey, out TValue)
Deconstructs a KeyValuePair<TKey,TValue> as its key and value.
Declaration
public static void Deconstruct<TKey, TValue>(this KeyValuePair<TKey, TValue> kvp, out TKey key, out TValue value)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<TKey, TValue> | kvp | The KeyValuePair<TKey,TValue> to deconstruct. |
TKey | key | The key in |
TValue | value | The value in |
Type Parameters
Name | Description |
---|---|
TKey | The type of the key. |
TValue | The type of the value. |
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 |
ScopeGuard(Action)
Creates a scope guard for a given Action.
Declaration
public static Utils.ScopeGuardObject ScopeGuard(Action action)
Parameters
Type | Name | Description |
---|---|---|
Action | action | the Action to run on dispose |
Returns
Type | Description |
---|---|
Utils.ScopeGuardObject | a Utils.ScopeGuardObject that will run |
Examples
using var _ = Utils.ScopeGuard(() => RunOnScopeExit(value));
|
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 |
---|---|
System.Byte[] | the corresponding byte array |
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 |
---|---|---|
System.Byte[] | a1 | array 1 |
System.Byte[] | a2 | array 2 |
Returns
Type | Description |
---|---|
Boolean | whether or not they are byte-for-byte equal |
VersionCompareNoPrerelease(Version, Version)
Compares a pair of Hive.Versioning.Versions ignoring both the prerelease and build fields.
Declaration
public static int VersionCompareNoPrerelease(Version l, Version r)
Parameters
Type | Name | Description |
---|---|---|
Hive.Versioning.Version | l | the left value |
Hive.Versioning.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 |
VersionCompareNoPrerelease(Version, Version)
Compares a pair of Versions ignoring both the prerelease and build fields.
Declaration
[Obsolete("Use Hive.Versioning.Version overload instead.")]
public static int VersionCompareNoPrerelease(Version l, Version r)
Parameters
Type | Name | Description |
---|---|---|
Version | l | the left value |
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 |