I have a class with some properties:
class Foo
{
public int Bar { get; set; }
public string Baz { get; set; }
public bool Quux { get; set; }
(...)
}
For use in some storage API, I need to specify a subset of these properties, by name as strings:
var props = new string[]
{
"Bar",
// Don't want this one... "Baz",
"Quux",
...
};
This works, but is unsafe - if I mistype "Quux", I won't get a compilation error, just (hopefully) a runetime error. I tried reflection - typeof(Foo).GetProperties("Bar") - but that would also fail only in runtime.
Ideally, I'd like to do something like:
var props = new string[]
{
Magic_GetName(Foo.Bar),
// Don't want this one... Foo.Baz,
Magic_GetName(Foo.Quux),
...
};
How can I achieve that?