背景:在我移植的API中,有大量以sqlite3_为前缀的函数。它们被封装在一个名为Sqlite3的类中,所以函数调用为Sqlite3.sqlite3_...
我创建了许多别名调用,类似于以下内容,
//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);
问题:
- 编译器会优化调用,因此开销最小吗?
- 有没有更简单的方法来创建这种类型的别名?