En passant juste un type comme paramètre en C#

Hypothétiquement ce serait pratique pour moi de le faire:

foo.GetColumnValues(dm.mainColumn, int)
foo.GetColumnValues(dm.mainColumn, string)

où la GetColumns méthode appelle une méthode différente à l'intérieur en fonction du type passé.

Oui, je pourrais le faire comme un indicateur booléen ou similaire, je me demandais si il y avait un moyen de peut-être passer cela, et de se demander:

typeof(arg[1]) ou similaire...

Je pourrais aussi remplacer la méthode, l'utilisation des génériques, etc - je sais qu'il y a différentes façons de le faire, j'étais juste curieux de savoir si cela était possible.

  • Les génériques???????
  • Ma pensée exactement, en fonction de ce que foo est en réalité. foo.GetColumnValues<int>(dm.mainColumn) peut être le chemin à parcourir.
  • Comme je l'ai dit, je me rends compte il y a d'autres façons de le faire (indicateur booléen, médicaments génériques, en substitution de la méthode), je me demandais si il était possible en tant que paramètre.
  • Je ne comprends pas la question si vous savez que vous pouvez aussi remplacer la méthode, l'utilisation des génériques, etc, et vous savez qu'il y a différentes façons de le faire, vous étiez juste curieux de savoir si c'était possible". Donc, vous savez tout cela, mais vous êtes curieux de savoir si c'est possible???
  • dans la forme que je décris. c'est à dire en 2ème paramètre. Comme il s'avère, Reed a un peu dit ce que j'étais après - lorsque vous utilisez (..., de Type type). C'est ce que je cherchais.
  • Bonne question, upvoted, je vois MS en utilisant le Type des paramètres intégrés dans les opérateurs dans VB.NET par exemple, trycast, et ont souvent souhaité que je pouvais le faire moi-même en C#/VB - dans la mode que vous décrivez.

InformationsquelleAutor Mark Mayo | 2012-06-08