У меня есть вопрос, очень похожий на другой вопрос: Получить имя свойства в виде строки .
Его решение закончилось на
// Static Property
string name = GetPropertyName(() => SomeClass.SomeProperty);
// Instance Property
string name = GetPropertyName(() => someObject.SomeProperty);
Что я 'Мне нравится иметь синтаксис, похожий на статическое свойство, но для свойства экземпляра.
Причина в том, что теперь у меня есть код, который использует отражение, чтобы получить значение свойства для всех объектов в коллекции, но я должен передать его в виде жестко закодированной строки.
Пример кода:
double Sum = AmountCollection.Sum("thatfield");
Что ж, это прекрасно работает, но если "thisfield" будет когда-либо переименовано, код больше не будет работать.Компилятор не может проверить это, поскольку это просто строка.Кроме того, Get References не будет работать по той же причине.
Итак, есть ли способ достичь цели, заключающейся в том, чтобы легко получить имя свойства (т.е. просто вызов функции) из свойства экземпляра?
Спасибо.