Articles of méthodes d’extension

Méthode d’extension C # en tant qu’implémentation d’interface

Je me demandais si une méthode d’extension C # de certaines classes pouvait servir d’implémentation d’interface? Qu’est-ce que j’ai: Une iterface: public interface IEventHandler { void Notify(SEvent ev, IEventEmmiter source); } Une classe qui l’implémente: class Sim : IEventHandler { /*public void Notify(SEvent ev, IEventEmmiter source) { Console.WriteLine(“Got notified: ” + ev.Name); }*/ } Et […]

Meilleures pratiques: Espace de noms des méthodes d’extension C # et promotion des méthodes d’extension

Je sais qu’il existe déjà un article , décrivant presque le même, mais je pense que le mien est un peu différent. Ce que je voudrais savoir, c’est comment vous organisez vos méthodes d’extension en termes d’atsortingbution de l’espace de noms. Actuellement – pour les méthodes d’extension dans notre framework – j’utilise le pattern d’espace […]

Quelles sont les méthodes d’extension?

Quelles sont les méthodes d’extension dans .NET? EDIT: J’ai posté une question de suivi sur l’ utilisation des méthodes d’extension

Méthodes d’extension non reconnues

Qu’est-ce qui est nécessaire pour qu’une méthode d’extension soit respectée lorsqu’elle existe dans un assemblage importé? J’en ai construit un dans un projet de bibliothèque de classes mais il n’est pas reconnu dans mon projet web qui fait référence à la bibliothèque. Toutes les autres classes et méthodes de la bibliothèque sont honorées et visibles, […]

Méthode d’extension en énumération, pas d’instance d’énumération

J’ai une énumération pour mes choses comme ça: public enum Things { OneThing, AnotherThing } Je voudrais écrire une méthode d’extension pour cette énumération (similaire à la réponse de Prise ici ) mais pendant que cette méthode fonctionne sur une instance de l’énumération , ala Things thing; var list = thing.ToSelectList(); Je voudrais plutôt travailler […]

Le mot clé dynamic dans C # 4 prend-il en charge les méthodes d’extension?

J’écoute un exposé sur le mot clé dynamic C # 4 et je me demande … Cette fonctionnalité sera-t-elle orthogonale aux autres fonctionnalités de .NET, par exemple, prendra-t-elle en charge les méthodes d’extension? public static class StrExtension { public static ssortingng twice(this ssortingng str) { return str + str; } } … dynamic x = […]

Appel ambigu entre deux méthodes génériques d’extension C # une où T: classe et autre où T: struct

Considérons deux méthodes d’extension: public static T MyExtension(this T o) where T:class public static T MyExtension(this T o) where T:struct Et une classe: class MyClass() { … } Appelez maintenant la méthode d’extension sur une instance de la classe ci-dessus: var o = new MyClass(…); o.MyExtension(); //comstackr error here.. o.MyExtension(); //sortinged this as well – […]

Quel est le moyen le plus simple d’obtenir la valeur de propriété d’une expression lambda transmise dans une méthode d’extension pour HtmlHelper?

J’écris une sale petite méthode d’extension pour HtmlHelper afin que je puisse dire quelque chose comme HtmlHelper.WysiwygFor (lambda) et afficher le CKEditor. J’ai ce travail actuellement, mais cela me semble un peu plus lourd que je ne le souhaiterais. J’espère qu’il y a une façon plus simple de le faire. Voici ce que j’ai jusqu’ici. […]

Passer une expression lambda à la place d’IComparer ou IEqualityComparer ou de toute autre interface de méthode unique?

Il m’est arrivé de voir du code où ce type a transmis une expression lambda à un ArrayList.Sort (IComparer ici) ou à un IEnumerable.SequenceEqual (liste IEnumerable, IEqualityComparer ici) où un IComparer ou un IEqualityComparer était attendu. Je ne peux cependant pas être sûr de l’avoir vu ou je ne fais que rêver. Et je n’arrive […]

Scala équivalent des méthodes d’extension de C #?

En C # vous pouvez écrire: using System.Numerics; namespace ExtensionTest { public static class MyExtensions { public static BigInteger Square(this BigInteger n) { return n * n; } static void Main(ssortingng[] args) { BigInteger two = new BigInteger(2); System.Console.WriteLine(“The square of 2 is ” + two.Square()); } }} À quoi ressemblerait cette méthode d’extension simple […]