63 votes

Comment déterminer si T est un type de valeur ou une classe de référence en générique ?

J’ai un comportement de méthode générique dont dépend de T est le type de référence ou le type de valeur. Il semble que oui:

Je ne peux pas dupliquer cette méthode comme :

parce que leurs signatures sont égales. Quelqu’un peut-il m’aider?

7voto

Anton Gogolev Points 59794

indique, naturellement, si est un type de valeur. Par conséquent, `` .

6voto

ojlovecd Points 2442

essaye ça:

 if (typeof(T).IsValueType)

5voto

dba Points 429

Je suis en retard à la fête, mais je viens de tomber dessus. Donc, pour déterminer s’il s’agit d’un type de référence,

respectivement

pourrait fonctionner (.net 4.7+ , non vérifié sur les versions précédentes)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X