using System.Collections.Generic;
public static void Main()
ConfigFileHandler.ReadConfigFile();
ConfigFile configFile = new ConfigFile();
Console.WriteLine("Server address: {0}\nServer port: {1}\nServer timeout: {2}", configFile.ServerAddress, configFile.ServerPort, configFile.ServerTimeout);
public static void ReadConfigFile()
WebClient webClient = new WebClient();
var configLines = webClient.DownloadString(new Uri("http://pastebin.com/raw.php?i=By0AcH0h")).Split('\n');
var testList = configLines.Select(line => line.Split('='))
.Select(splitString => new Tuple<string, string>(splitString[0], splitString[1].Replace("'", "")))
.ToDictionary(kvp => kvp.Item1, kvp => kvp.Item2);
var cfgFile = new ConfigFile(testList);
private static Dictionary<string, string> _configDictionary;
public ConfigFile(Dictionary<string, string> configValues)
_configDictionary = configValues;
public string ServerAddress
return PullValueFromConfig<string>("serveraddress", "");
return PullValueFromConfig<int>("serverport", "");
public long ServerTimeout
return PullValueFromConfig<long>("servertimeout", "");
private T PullValueFromConfig<T>(string key, string defaultValue)
if (_configDictionary.TryGetValue(key, out value) && value != "")
return (T)Convert.ChangeType(value, typeof (T));
return (T)Convert.ChangeType(defaultValue, typeof (T));