|
|
- using System;
-
- namespace IPA.Utilities
- {
- /// <summary>
- /// A class providing various extension methods.
- /// </summary>
- public static class Extensions
- {
- /// <summary>
- /// Gets the default value for a given <see cref="Type"/>.
- /// </summary>
- /// <param name="type">the <see cref="Type"/> to get the default value for</param>
- /// <returns>the default value of <paramref name="type"/></returns>
- public static object GetDefault(this Type type)
- {
- return type.IsValueType ? Activator.CreateInstance(type) : null;
- }
-
- /// <summary>
- /// Unwraps a <see cref="Nullable{T}"/> where T is <see cref="bool"/> such that if the value is null, it gives <see langword="false"/>.
- /// </summary>
- /// <param name="self">the bool? to unwrap</param>
- /// <returns>the unwrapped value, or <see langword="false"/> if it was <see langword="null"/></returns>
- public static bool Unwrap(this bool? self) => self != null && self.Value;
- }
- }
|