using System; using System.Linq; using System.Collections.Generic; public class SettingsEntry { public string Name{get; set; } public object Value {get; set; } } public class Settings : List { public object this[string name] { get { return this.SingleOrDefault((entry) => entry.Name.Equals(name))?.Value; } } } public class Test { public static void Main() { Settings settings = new Settings() { new SettingsEntry() { Name = "ServiceUrl", Value = "http://myhost/myservice.asmx" }, new SettingsEntry() { Name = "ServiceTimeout", Value = 10000 } }; Console.WriteLine(settings["ServiceUrl"]); Console.WriteLine(settings["ServiceTimeout"]); Console.WriteLine(settings["Bla"]); } }