/ / Pouvez-vous créer une méthode d'extension statique / partagée? - .net, méthodes d'extension

Pouvez-vous créer une méthode d'extension statique / partagée? - .net, méthodes d'extension

OK, j’ai probablement mal compris quelque chose mais, autant que je sache ...

  • Une méthode d'extension doit être contenue dans un module, pas une classe
  • Vous ne pouvez pas créer de méthodes dans les modules Static / Shared
  • Par conséquent, vous ne pouvez pas utiliser une méthode d’extension sur une classe sans l’instancier.

En d’autres termes, vous ne pouvez pas "créer une méthode d’extension sur String appelée" MyExtensionMethod "et utiliser:

String.MyExtensionMethod("String")

Mais plutôt ..

Dim test As String
test.MyExtensionMethod("string")

Est-ce correct? Ou y a-t-il un moyen de faire en sorte que les méthodes d'extension fonctionnent comme des méthodes statiques?

Réponses:

9 pour la réponse № 1

Vous avez raison. Les méthodes d'extension ne peuvent agir que sur les instances d'un type.

Et non, malheureusement, il n'existe aucun moyen astucieux d'écrire des méthodes d'extension qui agissent sur les types eux-mêmes, se comportant comme des méthodes statiques.