Как новичок в F #, я обычно пытаюсь преобразовать бит C# в качестве учебного упражнения. В этом случае я пытаюсь преобразовать следующий синтаксический код выражения C#. Это просто, идея состоит в том, чтобы передать лямбда в эту функцию, чтобы получить строковое представление имени свойства, а не использовать стандартные методы отражения. Я опустил другую функцию GetMemberName, поскольку, как мне кажется, я могу понять это, как только я получу несколько рекомендаций относительно того, какой подход принять.Преобразование выражения C# в P #
public static string GetMemberName<T>(Expression<Func<T, object>> expression)
{
if (expression == null)
{
throw new ArgumentException("The expression cannot be null.");
}
return GetMemberName(expression.Body);
}
Я знаю, что у F # есть цитаты. Я также знаю, что могу использовать выражения Linq в F #. Я бы хотел попробовать сначала F #, используя цитаты, но я спотыкаюсь. Может ли кто-нибудь дать мне кикстарт?
ОК, но разве это не просто регулярное отражение, а выражение синтаксического разбора? – bp123
Я не уверен, что слежу за тем отличием, которое вы делаете. Я добавил пример использования ответа. Надеюсь, это поможет прояснить ситуацию. – Daniel
@ bp123 И выражения LINQ Express, и F # работают с типами отражения .Net. Нет текстового разбора (это то, что вы имели в виду?) В любом случае. – svick