C#: Comment faire pour appeler une méthode statique d'une classe de base à partir d'une méthode statique d'une classe dérivée?

En C#, j'ai de la classe de base des Produits et dérivés de la classe Widget.

Produit contient une méthode statique MyMethod().

Je tiens à appeler la méthode statique Produit.MyMethod() à partir de la méthode statique Widget.MyMethod().

Je ne peux pas utiliser le mot clé base, parce que cela ne fonctionne qu'avec les méthodes d'instance.

Je peux appeler Produit.MyMethod() explicitement, mais si j'ai à changer plus tard Widget à dériver d'une autre classe, je dois réviser la méthode.

Est-il une syntaxe en C# similaire à la base qui me permet d'appeler une méthode statique d'une classe de base à partir d'une méthode statique d'une classe dérivée?

Une raison pour laquelle cette méthode est statique?
La meilleure solution à ce problème est de renommer Widget.MyMethod. Premier pense que si Widget.MyMethod et Product.MyMethod font la même chose que leur nom soit le même.. Si elles sont équivalentes (même chose pour l'utilisateur), vous êtes seule option est de les rendre non-méthodes statiques.. Alors que je pense qu'il serait utile, C# n'ont pas le concept d'héritage sur les membres statiques. Penser à un petit-enfant de la classe de FancyWidget, ce qui devrait FancyWidget.MyMethod appel? Si vous pensez que Widget.MyMethod alors C# ne marche pas avoir une chose pour que (ni n'importe quel langage de programmation orientée objet, je pense).

OriginalL'auteur MindModel | 2009-03-02