У меня есть сценарий, в котором мне нужно получить массив строк, которые представляют каждое из имен свойств, используемых в параметре Func.Вот пример реализации:
public class CustomClass<TSource>
{
public string[] GetPropertiesUsed
{
get
{
// do magical parsing based upon parameter passed into CustomMethod
}
}
public void CustomMethod(Func<TSource, object> method)
{
// do stuff
}
}
Вот пример использования:
var customClass = new CustomClass<Person>();
customClass.CustomMethod(src => "(" + src.AreaCode + ") " + src.Phone);
...
var propertiesUsed = customClass.GetPropertiesUsed;
// propertiesUsed should contain ["AreaCode", "Phone"]
Часть, на которой я застрял в приведенном выше примере, - это "магический анализна основе параметра, переданного в CustomMethod. "