|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
Вот например можно так получить имя члена класса в виде строки: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
И использовать это примерно так Код: c# 1.
Вопрос, откуда лямбда-выражение знает имя члена в виде строки - node.Member.Name - и почему, чтобы получить имя члена в виде строки, я должен писать целую функцию, вместо того, чтобы вызвать уже готовый метод или просто прочитать значение свойства, как тут написано? Ведь выражение уже как-то знает сразу имя члена в виде строки - почему я не могу иметь такой же прямой доступ и именам членов в виде строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 09:01 |
|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
И ещё вопрос - как получали строковое имя члена класса до появления лямбда-выражений, т. е. до версии 3 фреймворка? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 09:34 |
|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
System.Reflection? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 10:52 |
|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
Antonariy, рефлексия требует ввода жёсткозакодированного имени свойства (проблемы с рефакторингом и костыли для их устранения): Код: c# 1.
а подход с лямбдами не требует хардкодинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 11:27 |
|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
user7320, внутри методов создания экземпляра класса MemberExpression используется System.Reflection, вот и вся магия. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 16:58 |
|
Насчёт получения имени члена класса в виде строки
|
|||
---|---|---|---|
#18+
P.S.: если код в начале топика взят из статьи: Getting Information About Objects, Types, and Members with Expression Trees , - то там в первом параграфе есть ссылка на основы Expression Tree. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2013, 17:02 |
|
|
start [/forum/topic.php?fid=20&fpage=177&tid=1405236]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 135ms |
0 / 0 |