Автоматическая упаковка лямбда-выражений - PullRequest
0 голосов
/ 22 июля 2010
public void aMethod<T>(Expression<Func<T, object>> lambda)
{
    ......
}

aMethod<User>(x=> x.UserId)

Пользователь - мой пользовательский класс, члены его типа UserId int ...

Я хочу лямбда-выражение x => x.UserId

Но, кстати, яget is x => Convert (x.UserId) Следовательно, следующие операции не могут, мне нужно убедиться, что мой тип выражения Expression <Func <T, object>> не определен как Expression <Func <T, int>>

Есть ли способ это сделать?

1 Ответ

0 голосов
/ 22 июля 2010
public void aMethod<T,TMember>(Expression<Func<T, TMember>> lambda)
{
    ......
}

aMethod<User>(x=> x.UserId)

объект является ссылочным типом. int тип значения. если вы получаете int как объект, он должен быть упакован: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...