Trong C# tôi có thể tạo ra một chuỗi đại diện của một đồ thị đối tượng khá dễ dàng với cây biểu thức.F # trích dẫn đồ thị đối tượng
public static string GetGraph<TModel, T>(TModel model, Expression<Func<TModel, T>> action) where TModel : class
{
var method = action.Body as MethodCallExpression;
var body = method != null ? method.Object != null ? method.Object as MemberExpression : method.Arguments.Any() ? method.Arguments.First() as MemberExpression : null : action.Body as MemberExpression;
if (body != null)
{
string graph = GetObjectGraph(body, typeof(TModel))
return graph;
}
throw new Exception("Could not create object graph");
}
Trong F # Tôi đã xem Báo giá cố gắng làm điều tương tự và không thể đoán được. Tôi đã cố gắng chuyển đổi các báo giá thành một biểu thức bằng cách sử dụng các thư viện PowerPack, nhưng đã không có may mắn cho đến nay, và các thông tin trên internet có vẻ khá thưa thớt về chủ đề này.
Nếu đầu vào là:
let result = getGraph myObject <@ myObject.MyProperty @>
sản lượng nên được "myobject.MyProperty"
Dunno câu trả lời (trích dẫn không phải là sở trường của tôi), nhưng muốn đảm bảo bạn đã đọc http://blogs.msdn.com/dsyme/archive/2009/10/23/a-quick-refresh-on- query-support-in-the-f-power-pack.aspx là các tài liệu hiện hành tốt nhất về sự hỗ trợ biểu thức-> Expression trong PowerPack. – Brian