Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2013, 16:54   #1
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию lambda expression

Hello, how to get
Код:
 expression e => e.SomeProperty
from
Код:
e => new { e.SomeProperty, Title = "SomeTitle"}
rUs_LAN вне форума Ответить с цитированием
Старый 02.10.2013, 17:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Оффициальный язык форума - русский.
Цитата:
e.SomeProperty
А это чего? Свойство в свойстве?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2013, 18:13   #3
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

я хочу получить c (expression<func<t, object>) e => new { e.SomeProperty, Title = "SomeTitle" }

e => e.SomeProperty где e.SomeProperty это t.SomeProperty where t : class

Последний раз редактировалось rUs_LAN; 02.10.2013 в 18:20.
rUs_LAN вне форума Ответить с цитированием
Старый 02.10.2013, 18:28   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

так чтоли?
new { SomeProperty = e.SomeProperty, Title = "SomeTitle" }

хотя я не понял чего надо
eval вне форума Ответить с цитированием
Старый 02.10.2013, 18:51   #5
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

уже мозги поехали, сорри.

у меня есть метод

Код:
public static MvcHtmlString БлаБлаБла<T>(this HtmlHelper<T> helper, params Expression<Func<T, object>>[] expressions)
            where T : class
я его вызываю так

Код:
@(Html.SomeMethod<SomeClass>(
    o => new { o.SsomeProperty, Title = "fsdfdsf" }, 
    o => new { o.OtherPro, Title = "23232" }, 
))
потом я пишу

Код:
foreach (var expression in expressions)
            {
                string name;
                string value;
                if (expression.Body.NodeType == ExpressionType.New)
                {
                    var ne = expression.Body as NewExpression;
                    if (ne.Arguments.Count > 0)
                    {

                        name = (ne.Arguments[0] as MemberExpression).Member.Name;
                        //generating new lambda expression from first argument and main lambda parameters
                        var getLambda2 = Expression.Lambda<Func<T, object>>(Expression.
                            Convert(ne.Arguments[0], typeof(object)), expression.Parameters);
                        var del = getLambda2.Compile();
                        value = del(helper.ViewData.Model).ToString();
                    }
                }
            }


здесь
Код:
value = del(helper.ViewData.Model).ToString();
nullreference exception
rUs_LAN вне форума Ответить с цитированием
Старый 04.10.2013, 17:51   #6
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

Лол, просто лол. Код рабочий, просто someProperty не было на view и не работал custom model binder.
rUs_LAN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Type of expression must be BOOLEAN Виктория7777 Общие вопросы Delphi 11 19.12.2014 00:11
Type mismatch in expression SlavaSH БД в Delphi 24 02.05.2012 09:19
Template / Lambda BOBAH13 Общие вопросы C/C++ 1 09.12.2011 12:40
Нарисовать красивое окошко. Expression Design, Expression Blend. Векторное изображение. Casper-SC Фриланс 0 09.02.2011 17:59
sintax error in expression Rin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 22.01.2011 04:14