在C#dotNET for Mono中,有更简单的方法吗?
#if __MonoCS__
public static SqliteConnection NewConnection
#else
public static SQLiteConnection NewConnection
#endif
在C中,我可以#if然后#define something,#else并将其定义为其他内容。
我知道C#预处理器不能满足我的需求,但有没有更简单的方法来应对SQLite for Windows和Linux之间的差异?
谢谢,
吉姆
感谢那些回答的人 依赖于SQLite的文件现在包含这样的语句:
#if __MonoCS__
using Mono.Data.Sqlite;
using SQLiteCommand = Mono.Data.Sqlite.SqliteCommand;
using SQLiteConnection = Mono.Data.Sqlite.SqliteConnection;
using SQLiteException = Mono.Data.Sqlite.SqliteException;
using SQLiteParameter = Mono.Data.Sqlite.SqliteParameter;
using SQLiteTransaction = Mono.Data.Sqlite.SqliteTransaction;
#else
using System.Data.SQLite;
#endif
在C中,我会将所有内容放在.h文件中,并在需要的地方#include它。有没有办法在Mono C#项目中做到这一点?我没有尝试过任何工作。
再次感谢,
吉姆
答案 0 :(得分:10)
好吧,您可以使用using alias指令:
#if __MonoCS__
using SQLiteConnection = Foo.Bar.SqliteConnection;
#endif
然后,您可以在同一个文件中的任何位置使用SQLiteConnection
。
您可能希望使用适配器模式将它放在一段代码中,因此所有其余代码都可以是相同的。