using System; namespace VoxelBusters.CoreLibrary { public class Error { #region Properties /// /// A description of the error occured (read-only). /// /// The description of the error. public string Domain { get; private set; } /// /// A value indicating the type of error occured (read-only). /// /// The error code. public int Code { get; private set; } /// /// A description of the error occured (read-only). /// /// The description of the error. public string Description { get; private set; } #endregion #region Constructors public Error(string description) : this(domain: null, code: 0, description: description) { } public Error(string domain, int code, string description = null) { // set properties Domain = domain; Code = code; Description = description; } #endregion #region Static methods public static Error CreateNullableError(string description) { if (description == null) { return null; } return new Error(description); } #endregion #region Base class methods public override string ToString() { return string.Format("Error Domain: {0} Code: {1} Description: {2}", Domain, Code, Description); } #endregion } }