Question: For a game I'm developing on (in C#), we need to be able to save and load options files, and for ease of use, we decided to do it as plain text.
I have a problem however when I try to load the text back into their variables as I don't always know what type of variable it needs to be loaded into.

The following line of code works, except for the fact that I have yet to find functionallity that resembles

```
f.GetType().Parse()

```

Heres the actual code

```
OptionsClass current = new OptionsClass();  
    using(StreamReader reader = new StreamReader(path)){
        string line;
        while((line = reader.ReadLine()) != null){
        foreach(FieldInfo f in typeof(OptionsClass).GetFields()){
            f.SetValue(current, f.GetType().Parse(line.Split(new char[] {'='})[1]));

        }
    }
}

```

Let me know if anything is unclear, or more information is needed.
Regards,
-Logan

Answer: 
Rather than trying to do this yourself, I would suggest that you use the builtin XML or JSON serialiation.

However, if you are going to implement this yourself, then I would suggest that you perform a switch on the type of field and convert the value according to the data type of the field. For example:

```
        string sValue = line.Split(new char[] {'='})[1]);
        object oValue;
        switch (f.FieldType.Name.ToLower())
        {
            case "system.string":
               oValue = sValue;
               break;

            case "system.int32":
                oValue = Convert.ToInt32(sValue);
                break;
         etc...

      f.SetValue(current, oValue);

```

One additional note: if you are going the self-built route, then you probably want to be a little more robust in the data conversions (i.e. checking to see if the string is not null and is numeric when converting to a number, etc).
go to your Project Properties -> Settings -> Create the settings you want, 

then to get at them

```
var x = Properties.Settings.Default.MyCoolSetting;

```

(you can read and write them)

these settings will be stored in your applications .config file under user settings, where you can edit them