dynamicmapcomponenttuplizer.cs

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

CS
41
字号
using System;
using NHibernate.Properties;

namespace NHibernate.Tuple.Component
{
	/// <summary> 
	/// A <see cref="IComponentTuplizer"/> specific to the dynamic-map entity mode. 
	/// </summary>
	[Serializable]
	public class DynamicMapComponentTuplizer : AbstractComponentTuplizer
	{
		public DynamicMapComponentTuplizer(Mapping.Component component) : base(component) { }

		public override System.Type MappedClass
		{
			get { return typeof(System.Collections.IDictionary); }
		}

		protected internal override IInstantiator BuildInstantiator(Mapping.Component component)
		{
			return new DynamicMapInstantiator();
		}

		protected internal override IGetter BuildGetter(Mapping.Component component, Mapping.Property prop)
		{
			return BuildPropertyAccessor(prop).GetGetter(null, prop.Name);
		}

		protected internal override ISetter BuildSetter(Mapping.Component component, Mapping.Property prop)
		{
			return BuildPropertyAccessor(prop).GetSetter(null, prop.Name);
		}

		private IPropertyAccessor BuildPropertyAccessor(Mapping.Property property)
		{
			return PropertyAccessorFactory.DynamicMapPropertyAccessor;
		}

	}
}

⌨️ 快捷键说明

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