using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ScientificDistance { /// /// MeSH heading stripping options for limiting the calculation distance /// public enum MeshStrippingOption { /// /// Stripped mesh terms, all terms (default) /// StrippedMeshTermsAllTerms, /// /// Unstripped mesh terms, all terms /// UnstrippedMeshTermsAllTerms, /// /// Stripped mesh terms, main terms only /// StrippedMeshTermsMainTermsOnly, /// /// Unstripped mesh terms, main terms only /// UnstrippedMeshTermsMainTermsOnly, } public static class MeshStrippingOptionUtilities { public static string PrettyPrint(this MeshStrippingOption value) { switch (value) { case MeshStrippingOption.StrippedMeshTermsAllTerms: default: return "Stripped MeSH Terms (all terms)"; case MeshStrippingOption.UnstrippedMeshTermsAllTerms: return "Unstripped MeSH Terms (all terms)"; case MeshStrippingOption.StrippedMeshTermsMainTermsOnly: return "Stripped MeSH Terms (main terms only)"; case MeshStrippingOption.UnstrippedMeshTermsMainTermsOnly: return "Unstripped MeSH Terms (main terms only)"; } } public static IEnumerable ListOptions() { Array options = Enum.GetValues(typeof(MeshStrippingOption)); foreach (MeshStrippingOption option in options) { yield return option.PrettyPrint(); } } } }