Dans C # dotNET for Mono, existe-t-il un moyen plus simple de procéder?
#if __MonoCS__ public static SqliteConnection NewConnection #else public static SQLiteConnection NewConnection #endif
Dans CI, il serait possible de #if, puis #définir quelque chose, #else et le définir comme autre chose.
Je sais que le préprocesseur C # n’autorise pas ce que je veux, mais existe-t-il un moyen plus simple de gérer les différences entre SQLite pour Windows et Linux?
Merci,
Jim
Merci à ceux qui ont répondu.
Les fichiers qui dépendent de SQLite contiennent maintenant des instructions telles que celle-ci au début:
#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
Dans CI, placerait tout cela dans un fichier .h et l’inclinerait si nécessaire. Existe-t-il un moyen de faire cela dans un projet Mono C #? Rien que j’ai essayé n’a fonctionné.
Merci encore,
Jim
Eh bien, vous pouvez utiliser une directive using alias:
#if __MonoCS__ using SQLiteConnection = Foo.Bar.SqliteConnection; #endif
Vous pouvez ensuite utiliser SQLiteConnection
partout dans le même fichier.
Vous voudrez peut-être utiliser le modèle d’adaptateur pour l’insérer dans un seul morceau de code afin que tout le rest de votre code soit identique.