public override bool Equals(object obj)
{
var v = obj as CacheItem;
if (v == null) return false;
return _name == v._name && _delegate == v._delegate && _ilGen.Equals(v._ilGen);
}