252 messaggi dal 29 settembre 2009
Ciao a tutti

conoscete un qualche algtoritmo in C# che mi aiuti a calcolare la dimensione in Byte di una qualsiasi istanza allocata in memoria partendo dal suo puntatore?
252 messaggi dal 29 settembre 2009
Ho provato con la classe Marshal.SizeOf(..)
ma mi da il seguente errore
Impossibile effettuare il marshalling del tipo System.Collections.Generic.List`1[TurismoModelPackage.Category] come struttura non gestita. Non è possibile calcolare una dimensione o un offset significativo.


credo che il mio sia un problema senza soluzione :(
Ho provato questo:
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person("fabri", "ca",38);
            
            Console.WriteLine(GetSizeOfObject(p));
            Console.Read();
        }
        private static long GetSizeOfObject(object obj)
        {
            long size = 0;
            using (Stream s = new MemoryStream())
            {
                BinaryFormatter formatter = new BinaryFormatter();
                formatter.Serialize(s, obj);
                size = s.Length;
            }
            return size;
        }
    }
    [Serializable]
    public class Person
    {
        public String Nome { get; set; }
        public String Cognome { get; set; }
        public Int16 Age { get; set; }

        public Person(String Nome, String Cognome,Int16 Age)
        {
            this.Nome = Nome;
            this.Cognome = Cognome;
            this.Age = Age;
        }
    }
}

Ovviamente ci sono delle limitazioni, ergo occhio ;D

Fabrizio Canevali
252 messaggi dal 29 settembre 2009
funziona grazie
Di nulla.

Fabrizio Canevali

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC