I'm upgrading my site from Sitecore 8.1 to Sitecore 8.2, and one of the compile errors that I'm getting is 

> CS1503	Argument 3: cannot convert from 'long' to
> 'System.EventHandler<Sitecore.Caching.Generics.EntryRemovedEventArgs<string>'

As I'm looking into this, I think that I remember reading that Sitecore completely changed how the cache is working in 8.2, and therefore I will need to change my code as well. Can someone provide an overview of what kind of changes I'll need to make to my code so that I can run on 8.2?

**Edit**

This class is based on the Sitecore.Cachine.CustomCache class.
Here's the code that I'm having problems with:

        public void SetObject(string key, object content)
        {
            base.SetObject(key, content, EstimateObjectSize(content));
        }

        private long EstimateObjectSize(object obj)
        {
            long size = 0;
            try
            {
                using (Stream s = new MemoryStream())
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(s, obj);
                    size = s.Length;
                }
            }
            catch(SerializationException)
            {
                // object cannot be serialized so just return 0
                size = 0;
            }
            return size;
        }
The code is complaining about the base.SetObject call (with the EstimateObjectSize) method. I understand that I need to change my object, and having read that document that Mark posted, I still am not sure what changes need to be done. It seems as if the SetObject method has changed from holding content to holding some sort of event, and I can't wrap my head around how this is supposed to work. I'm sorry for the vague/generic original post, I'll try to be more specific in the future.

Thanks for your help!