I want to load a properties file (it’s a .csv file having on each line a name and associated numeric value) and then access those property values like so: FileLoader.PropertyOne or FileLoader.PropertyTwo. The problem is I don’t want to have to write a property for each value, I want them to be generated from the file. So
public class FileLoader
{
public int Property1 { get; private set; }
}
is not what I’m looking for. Is this possible? I can’t see any way to do it because obviously the compiler wouldn’t know about the property names. Perhaps something similar?
In C# 4.0, you could use the ExpandoObject, link contains good explanation and a couple of use cases, like :
Though the awesomeness of the ExpandoObject is to dynamically create complex hierarchical objects, I suppose you could use it in general for it’s shiny syntax even for simple dynamically defined objects.
EDIT: Here is another answer on SO adding details about the benefits of ExpandoObject by the same columnist that wrote the previously linked article
What are the true benefits of ExpandoObject?