comment obtenir la taille en octets de type dans la liste générique?

J'ai cette liste générique et je veux obtenir la taille en octets du type tel que si T est string ou int, etc., J'ai essayé les deux façons comme écrit dans getByteSize(), et juste pour vous informer que je suis en utilisant une seule voie, à une époque ...

mais lorsque j'essaie de compiler, il donne un message d'erreur indiquant "Erreur: le type ou Le nom d'espace de noms 'typeParameterType' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?)"

public class iList<T> : List<T> 
    { 
        public int getByteSize ()
        {
            //way 1
            Type typeParameterType = typeof(T);
            return sizeof(typeParameterType);

            //way 2
            Type typeParameterType = this.GetType().GetGenericArguments()[0];
            return sizeof(typeParameterType);
        }
    }

Et l'idée de ce que je fais de mal ici?

OriginalL'auteur Safran Ali | 2011-08-31