背景:在我正在移植的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