Tôi có một situtaiton nơi tôi đọc logic kinh doanh và thay thế các biến với giá trị thực tế và sau đó tôi cần phải đánh giá nó để có được kết quả. Tôi hiện đang sử dụng bcParser để làm điều đó và nó hoạt động tốt cho tất cả các logic được viết như định dạng excel.Có thể tạo một cây biểu thức cho các câu lệnh động không?
Bóng cong được ném vào tôi là, nếu điều kiện sẽ không giống như excel if(cond, true, false)
thay vì nó sẽ giống như C# nơi if (cond) { true; } else { false;}
, điều này có ý nghĩa hơn và dễ bảo trì. Vì tôi thay thế tất cả các biến với giá trị trước khi bàn tay, tất cả những gì tôi phải làm là đánh giá nó. Hiện tại tôi đang giải quyết vấn đề này bằng cách xuất logic sang các phương thức C# và sử dụng sự phản chiếu mà tôi đang đánh giá nó và nó cũng hoạt động.
Tôi tự hỏi là có bất kỳ tùy chọn nào khác, tôi không muốn viết mã cho từng điều kiện và muốn đánh giá nó trên thời gian chạy. Tôi đã tự hỏi nếu tôi có thể tạo một trình phân tích cú pháp của một số loại và gọi C# biểu thức bản địa đánh giá và thực hiện tính toán. Tôi đã không hiểu những cây xuất hiện, dường như có thể với cách tiếp cận đó. trước khi tôi đến đó, tôi muốn biết là nó có thể xảy ra không? Cảm ơn,
Cây biểu thức sẽ không giúp bạn phân tích cú pháp chuỗi. Bạn có thể muốn xem [CodeDom] (http://msdn.microsoft.com/en-us/library/y2k85ax6.aspx) hoặc [Rosalyn] (http://msdn.microsoft.com/en-us/roslyn). –