.NET/CLR 언어는 eval
함수를 지원하며 표준 .NET 코드 (예 : C# 코드 호출)를 호출 할 수 있습니까? 나는 F #도 C#도 eval
을 지원하지 않는다는 것을 안다. 다른 옵션이 있습니까?모든 .NET 언어에서 eval 함수 찾기
이상적으로 .NET 3.5와 호환되는 솔루션을 찾고 있습니다. (Clojure-CLR을 배제한 것으로 생각합니다.) 그러나 모든/모든 옵션에 관심이 있습니다.
.NET/CLR 언어는 eval
함수를 지원하며 표준 .NET 코드 (예 : C# 코드 호출)를 호출 할 수 있습니까? 나는 F #도 C#도 eval
을 지원하지 않는다는 것을 안다. 다른 옵션이 있습니까?모든 .NET 언어에서 eval 함수 찾기
이상적으로 .NET 3.5와 호환되는 솔루션을 찾고 있습니다. (Clojure-CLR을 배제한 것으로 생각합니다.) 그러나 모든/모든 옵션에 관심이 있습니다.
JScript.NET는이 eval
기능 this answer
확실하지 않음이 도움이되지만 당신이 말한대로 당신은 어떤 솔루션을 찾고 있다면. IronRuby는 어떻습니까? http://viniciusquaiato.com/blog/eval-em-c-com-ironruby/ (PT-BR)에서 촬영
public static class RubyEngineCreator
{
private static ScriptEngine ironRubyEngine = null;
private static ScriptEngine CreateEngine()
{
if (ironRubyEngine == null)
ironRubyEngine = Ruby.CreateEngine();
return ironRubyEngine;
}
public static dynamic GetRubyObject(string script)
{
return CreateEngine().CreateScriptSourceFromString(script).Execute();
}
}
[TestClass]
public class UnitTest
{
private T Eval<T>(string s)
{
return (T)RubyEngineCreator.GetRubyObject(s);
}
[TestMethod]
public void Should_Return4_4()
{
var result = Eval<int>("2 + 2");
Assert.AreEqual(4, result);
}
}
예
내 최종 용액 IronPython을 채택 하였다 참조 갖는다. JScript.NET은 기술적으로 효과가 있지만 Visual Studio 2008에서 사용하기에는 단조롭고 JScript.NET은 Microsoft에서 더 이상 사용하지 않는 것으로 보입니다. 반면에 IronPython은 상당히 활동적인 커뮤니티를 가지고 있습니다.