Articles of c #

Comment utiliser le conteneur DI lorsque OwinStartup

C’est un projet Web API 2. Lorsque j’implémente DI en utilisant Ninject, j’ai un message d’erreur Une erreur s’est produite lors de la tentative de création d’un contrôleur de type ‘TokenController’. Assurez-vous que le contrôleur dispose d’un constructeur public sans paramètre. [assembly: OwinStartup(typeof(Web.Startup))] namespace Web { public partial class Startup { public void Configuration(IAppBuilder app) […]

Meilleur moyen de convertir la méthode asynchrone basée sur le rappel en tâche attendue

Quelle serait la meilleure façon de convertir / encapsuler une méthode asynchrone “classique” qui utilise un rappel vers quelque chose qui renvoie une tâche (attendue)? Par exemple, avec la méthode suivante: public void GetSsortingngFromUrl(ssortingng url, Action onCompleted); La seule façon dont je sais envelopper une méthode renvoyant une tâche est la suivante: public Task GetSsortingngFromUrl(ssortingng […]

Pourquoi le code de la plupart des implémentations STL est-il si compliqué?

La STL est une pièce critique du monde C ++, la plupart des implémentations découlent des efforts initiaux de Stepanov et de Musser. Ma question porte sur le caractère critique du code, et l’une des principales sources d’affichage des exemples de C ++ bien rédigés, à la fois pour le respect et l’apprentissage: pourquoi les […]

Rechercher null dans la boucle foreach

Y a-t-il une meilleure façon de faire ce qui suit: J’ai besoin d’un chèque pour que null se produise sur le fichier.Headers avant de procéder à la boucle if (file.Headers != null) { foreach (var h in file.Headers) { //set lots of properties & some other stuff } } En bref, cela semble un peu […]

Pourquoi C # XmlDocument.LoadXml (chaîne) échoue-t-il lorsqu’un en-tête XML est inclus?

Quelqu’un at-il une idée de la raison pour laquelle l’exemple de code suivant échoue avec une exception XmlException “Les données au niveau racine ne sont pas valides. Ligne 1, position 1.” var body = ” ……” XmlDocument bodyDoc = new XmlDocument(); bodyDoc.LoadXml(body);

Nombre de fichiers d’un dossier

Comment puis-je obtenir le nombre de fichiers d’un dossier utilisant ASP.NET avec C #?

Est-ce que constexpr implique inline?

Considérons la fonction suivante: // Inline specifier version #include #include inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } et la version équivalente constexpr: // Constexpr specifier version #include #include constexpr int f(const int x); constexpr int f(const int x) { […]

L’appel d’une méthode d’extension sur une référence «nulle» (c’est-à-dire sans événement) est-il mal?

Mal ou pas mal? public static void Raise(this EventHandler handler, object sender, EventArgs args) { if (handler != null) { handler(sender, args); } } // Usage: MyButtonClicked.Raise(this, EventArgs.Empty); // This works too! Evil? EventHandler handler = null; handler.Raise(this, EVentArgs.Empty); Notez qu’en raison de la nature des méthodes d’extension, MyButtonClicked.Raise ne lancera pas une exception NullReferenceException […]

Pourquoi est-il possible d’implémenter une méthode d’interface dans la classe de base?

Dans mon projet, j’ai trouvé une situation étrange qui semble complètement valable en C #, car je n’ai pas d’erreurs de compilation. Exemple simplifié: using System; using System.Collections.Generic; namespace Test { interface IFoo { void FooMethod(); } class A { public void FooMethod() { Console.WriteLine(“implementation”); } } class B : A, IFoo { } class […]

Comment faire pour que la déclaration C # Switch utilise IgnoreCase

Si j’ai une déclaration de casse où l’object dans le commutateur est de la chaîne, est-il possible de faire de toute façon ignorerCase compare? J’ai par exemple: ssortingng s = “house”; switch (s) { case “houSe”: s = “window”; } Va obtenir la valeur “window”. Comment substituer l’instruction switch-case pour comparer les chaînes en utilisant […]