背景:在我正在移植的API中,有大量函數以sqlite3_爲前綴。他們被封裝在一個名爲SQLITE3類,因此函數調用Sqlite3.sqlite3 _...有沒有一種更簡單的方法給一個函數在C#中的別名名稱
我已經創建了一些別名通話,類似於以下的,
//C# alias for call
public static void result_error_toobig(sqlite3_context pCtx)
{ sqlite3_result_error_toobig(pCtx); }
//Native call
public static void sqlite3_result_error_toobig(sqlite3_context pCtx)
{
Debug.Assert(sqlite3_mutex_held(pCtx.s.db.mutex));
pCtx.isError = SQLITE_ERROR;
setResultStrOrError(pCtx, "string or blob too big", -1,
SQLITE_UTF8, SQLITE_STATIC);
}
這讓我編寫代碼,如Sqlite3.result_error_toobig(pCtx);
問題:
- 將編譯器優化了通話,所以開銷最小?
- 有沒有更簡單的方法來創建這種類型的別名?
你爲什麼不使用現有的SQLite ADO.NET提供程序在這裏可用? http://sqlite.phxsoftware.com/ – 2010-02-23 01:05:09
這實際上是將SQLite轉換爲託管代碼(http://code.google.com/p/csharp-sqlite)的端口,而不是ADO提供程序。無論如何,我仍然在學習C#的一些更微妙的特質,而這個問題只是在煩擾我。這就是全部 – Noah 2010-02-23 01:08:56
無法回答主要問題,但對於優化:如果以發佈模式編譯,編譯器應該內聯這些方法。在調試模式下,這不會發生,這是預期的和良好的。 – 2010-02-23 01:14:33