structuredmapcacheentry.cs

来自「NHibernate NET开发者所需的」· CS 代码 · 共 34 行

CS
34
字号
using System.Collections;
using NHibernate.Engine;

namespace NHibernate.Cache.Entry
{
	public class StructuredMapCacheEntry : ICacheEntryStructure
	{
		public object Structure(object item)
		{
			CollectionCacheEntry entry = (CollectionCacheEntry)item;
			object[] state = entry.State;
			IDictionary map = new Hashtable(state.Length);
			for (int i = 0; i < state.Length; )
			{
				map[state[i++]] = state[i++];
			}
			return map;
		}

		public object Destructure(object item, ISessionFactoryImplementor factory)
		{
			IDictionary map = (IDictionary)item;
			object[] state = new object[map.Count * 2];
			int i = 0;
			foreach (DictionaryEntry me in map)
			{
				state[i++] = me.Key;
				state[i++] = me.Value;				
			}
			return new CollectionCacheEntry(state);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?