J'ai créé une fonction qui traite un tableau d'objets, process (Object []). Cela fonctionne sur tous les types, y compris les entiers et les flottants, à condition que vous placiez chaque élément en premier. Je voudrais que la fonction prenne aussi des éléments non encadrés, ne serait-ce que pour la mettre en boîte elle-même avant le traitement. Comment je fais ça?Fonction de prendre un tableau de type arbitraire dans C#
Je pourrais envelopper avec quelques fonctions comme le processus (int []) et le processus (float []) mais cela semble aussi un problème. J'ai essayé le processus (ValueType []) mais le compilateur sélectionne toujours le processus (Object []).
J'ai C# 2.0, mais s'il y a une bonne solution pour 3.0 je voudrais le voir.
Essayez-vous d'éviter la boxe pour des raisons syntaxiques ou de performance? –
Pour répondre à cette question, nous avons vraiment besoin de savoir pourquoi vous aimeriez cela (plus en détail). Si vous voulez juste la commodité d'une seule fonction, alors la réponse de Jon ci-dessous fonctionnera bien. Si vous avez peur des frais généraux de la boxe, eh bien, comme ma réponse l'indique, vous aurez probablement besoin de travailler sur le corps de la méthode, puisque le déplacement de la boxe à l'intérieur du corps de la méthode n'est pas une victoire automatique. –