Raccourci en C # pour #if… #else… #endif comme #define quelque chose comme chaîne

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.