ИСХОДНАЯ ИНФОРМАЦИЯ: в переносимом мной 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);
ВОПРОС:
- Будет ли компилятор оптимизировать вызов, чтобы накладные расходы были минимальными?
- Есть ли более простой способ создать этот тип псевдонима?