사용자가 if
문에 사용할 조건부 식을 지정하도록하려는 텍스트 상자가 있습니다. 예를 들어, 내 코드에서이라는 값을 가진 int
이 있다고 가정 해 봅시다. 그러면 사용자는 "C -parsable 번호"등사용자 생성 조건문을 구현하는 방법은 무엇입니까?
@myParameter < 20
또는 어쩌면
@myParameter > 5 && @myParameter < 20
myTextBox
식으로 들어간다. 나는
ConditionalExpression cond = new ConditionalExpression();
cond.Expression = myTextBox.Text; //Get the text from textbox.
cond.Parameters.Add("@myParameter",myVariable); //use value of 'myVariable" at "@myParameter"
if (cond.Evaluate()){ //if cond evaluates to true
//do stuff
}
처럼 내 코드 인 뭔가가 문자열 구문 분석을 구현 내가 사용할 수있는 클래스의 어떤 종류가 있습니까 상상, 또는 내가 내 자신에 파싱 한 후 어떤 방법으로 시스템에서 ConditionalExpression 클래스를 이용하여 문자열을 어떻게해야합니까 .Linq.Expressions?
감사합니다.
.NET에 내장 된 기능이 없기 때문에 문자열을 입력하여 다시 가져올 수 있습니다. 최소한 더 많은 작업을하지 않아도됩니다. 그러나 라이브러리가있어 원하는 것을 제공 할 수 있습니다. –
Linq to Objects 또는 EF/SQL이 필요합니까? 이것이 EF 인 경우 문자열을 구문 분석하는 대신 ObjectQuery의 [QueryBuilder 메서드] (http://msdn.microsoft.com/en-us/library/bb338811(v=vs.110).aspx)를 사용할 수 있습니다. 수식 트리를 수동으로 생성합니다. –