Предположим, у меня есть переменный вызов, подобный этому
Foo foo = new Foo();
foo.bar = new Bar();
foo.bar.property // something
class Bar { property { get; set; } }
class Foo { Bar bar {get; set; }}
Есть ли способ упорядочить этот вызов, например
string myCall = myStringify(foo.bar.property);
// yields either "bar.property" or "foo.bar.property"
Почему это? Я использую отражение, чтобы создать ключи для этого. Таким образом, приведенный выше пример создаст ключ "bar.property" в списке (который войдет в базу данных и т. Д.). Я мог бы просто написать string key = "bar.property"
, но тогда я бы не знал, существовало ли это на самом деле. Используя приведенный выше пример, я могу гарантировать, что этот ключ действительно существует.