作为 F# 的新手,我经常尝试将 C# 的部分转换为学习练习。在这种情况下,我正在尝试转换以下 C# 表达式解析代码。很简单,想法是将 lambda 传递给此函数以获取属性名称的字符串表示,而不是使用标准反射技术。我已经省略了另一个 GetMemberName 函数,因为我想一旦我得到一些关于采取什么方法的指导,我就可以弄清楚。
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# 有引号。我也知道我可以在 F# 中使用 Linq 表达式。我想首先使用引号以 F# 方式尝试它,但我绊倒了。有人可以给我一个kickstart吗?