這個叫evaluator的類,可以實現你的功能。
使用方法:console.writeline("test0: ", evaluator.evaluatetointeger("(30 + 4) * 2"));
using system;
using system.codedom;
using system.codedom.compiler;
using microsoft.csharp;
using system.text;
using system.reflection;
namespace adoguy
public evaluator(type returntype, string expression, string name)
;constructevaluator(items);
}public evaluator(evaluatoritem item)
;constructevaluator(items);
}private void constructevaluator(evaluatoritem items)
public string evaluatestring(string name)
public bool evaluatebool(string name)
public object evaluate(string name)
#endregion
#region static members
static public int evaluatetointeger(string code)
static public string evaluatetostring(string code)
static public bool evaluatetobool(string code)
static public object evaluatetoobject(string code)
#endregion
#region private
const string staticmethodname = "__foo";
type _compiledtype = null;
object _compiled = null;
#endregion
}public class evaluatoritem
public type returntype;
public string name;
public string expression;}}
C 抽象類解析
舉例 如果 abc做的是同乙個工程,為了保證 不重,方便維護。這樣就不能再使用原始碼或者編譯成的庫 件給bc的方法了,只能將標頭檔案提供給bc,而且這個標頭檔案要做成乙個抽象類,這樣bc才能編譯通過。include using namespace std class people 父類的建構函式 p...
c 中類長度解析
通常我們定義乙個類,它所佔的空間有多大呢?首先我們看一下下面的這個類 class a void func2 void public intnumber class b void func2 void public char number intnumber1 我們輸出這兩個類的長度 1 includ...
C 解析Json的類
以下資料解析成.net可以使用的資料,返回的資料除了header,其他的都是可變的,也就是說結構不是固定的。完全由使用者選擇,所以選擇了生成datatable。json資料格式如下 dataset fielddefine data 解析的類 using system using system.col...