using System.Collections.Generic;
public static void Main()
var a = KnownGender.Male;
var b = KnownGender.FeMale;
var c = KnownGender.GetGendeFromCode("M");
Console.WriteLine("Run at: {0:dd-MM-yy HH:mm:ss}", DateTime.Now);
Console.WriteLine("a=b");
Console.WriteLine("a!=b");
Console.WriteLine("a=c");
Console.WriteLine("a!=c");
Console.WriteLine("a desc: {0}", KnownGender.GetDescFromCode("F"));
public const string MaleCode = "M";
public static readonly KnownGender Male = new KnownGender { Code = MaleCode, Name = "Male", Description = "A Man" };
public static readonly KnownGender FeMale = new KnownGender { Code = "F", Name = "Female", Description = "A Woman" };
public static readonly KnownGender Unknown = new KnownGender { Code = "U", Name = "Unknown", Description = "Gender unknown" };
public static List<KnownGender> Genders = new List<KnownGender>() { Male, FeMale, Unknown };
public static KnownGender GetGendeFromCode(string code)
return Genders.FirstOrDefault(x => x.Code == code);
public static string GetDescFromCode(string code)
var found = Genders.FirstOrDefault(x => x.Code == code);
return found.Description;
public string Code { get; private set; }
public string Name { get; private set; }
public string Description { get; private set; }