Я читал книгу, которая находится на C#. Я разработчик VB.NET (и очень младший), и у меня много проблем со следующим кодом, который содержит много вещей, которые я никогда раньше не видел. У меня есть базовые знания о лямбда-выражениях.Что делает этот код в мире? (C#)
public List<T> SortByPropertyName(string propertyName, bool ascending)
{
var param = Expression.Parameter(typeof(T), "N");
var sortExpression = Expression.Lambda<Func<T, object>>
(Expression.Convert(Expression.Property(param, propertyName),
typeof(object)), param);
if (ascending)
{
return this.AsQueryable<T>().OrderBy<T, object>(sortExpression).ToList<T>();
}
else
{
return this.AsQueryable<T>().OrderByDescending<T, object>(sortExpression).ToList<T>
}
}
Может ли кто-нибудь осветить меня относительно того, что делает этот код и какие понятия используются? Я также пытаюсь преобразовать этот код в VB.NET с небольшой удачей, поэтому любая помощь там будет оценена.
ли меня, или сломана код? Где Т определено? –
@Mike: Я предполагаю, что это в общем классе, возможно, что-то, что наследуется от List. –