Tôi đang tìm kiếm khả năng chuyển đổi toàn bộ các phương thức thành các cây Biểu thức. Viết nó ra sẽ hút. :)Tìm kiếm trình biên dịch C# => Trình biên dịch LINQ
Vì vậy (ví dụ tầm thường) cho văn bản sau đây:
public static int Add(int a, int b)
{
return a + b;
}
Tôi muốn hoặc là có được một đối tượng trong bộ nhớ mà đại diện này, hoặc văn bản sau đây:
ParameterExpression a = Expression.Parameter(typeof(int), "a");
ParameterExpression b = Expression.Parameter(typeof(int), "b");
var expectedExpression = Expression.Lambda<Func<int, int, int>>(
Expression.Add(a,b),
a,
b
);
Bất kỳ ý tưởng? Có ai có thể làm điều gì đó với Roslyn có thể làm điều này?
CHỈNH SỬA: Làm rõ: Tôi muốn hút bất kỳ phương thức C# nào (ví dụ: phương thức trên) dưới dạng văn bản và tạo ra một biểu thức kết quả. Về cơ bản, tôi đang tìm cách biên dịch bất kỳ phương thức C# nào thành các cây Biểu thức.
Tôi cho rằng Roslyn có thể làm được. Bạn có biết bất kỳ nguồn hiện có nào đã thực hiện nó chưa? Tôi đang tìm một cái gì đó có sẵn. – Shlomo
Roslyn là ra cho một tháng duy nhất, tôi nghĩ rằng nó sẽ mất đôi khi bởi vì mọi người sẽ viết và thử nghiệm với nó. Nhưng bạn có thể làm một cái gì đó trên plex mã cho trình biên dịch biểu hiện sử dụng mỉa mai vv Tôi nghĩ rằng đôi khi mọi người sẽ đăng dự án trên plex mã cho Roslyn hoặc bạn có thể bắt đầu một và yêu cầu mọi người đóng góp và nó sẽ xây dựng từ đó. –