GetType dans la méthode statique

Dupliquer possible:
.NET: Détermine le type de la classe “this” dans sa méthode statique

Comment puis-je rendre GetType() accessible à partir d’une méthode static ?

J’ai cette classe de base abstraite

 abstract class MyBase { public static void MyMethod() { var myActualType = GetType(); // this is an instance method doSomethingWith(myActualType); } } 

et une implémentation de cette classe. (Je pourrais avoir plusieurs implémentations.)

 class MyImplementation : MyBase { // stuff } 

Comment puis-je obtenir que myActualType soit de typeof(MyImplementation) ?

Le “type” dans une méthode statique est toujours le type spécifique, car il n’existe pas de méthode virtuelle statique.

Dans votre cas, cela signifie que vous pouvez simplement écrire:

  var myActualType = typeof(MyBase); 

Étant donné que le “type” de MyMethod , en tant que statique, est toujours une méthode statique de MyBase .

Et ça?

 abstract class MyBase { public static void MyMethod() { var myActualType = typeof(T); doSomethingWith(myActualType); } } class MyImplementation : MyBase { // stuff } 

C’est le motif que j’ai utilisé.

 abstract class MyBase { public static void MyMethod(Type type) { doSomethingWith(type); } }