view Source/TypeBuilder/Builders/FakeSetter.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
line wrap: on
line source

using System;
using System.Reflection;

namespace BLToolkit.TypeBuilder.Builders
{
	class FakeSetter : FakeMethodInfo
	{
		public FakeSetter(PropertyInfo propertyInfo) 
			: base(propertyInfo, propertyInfo.GetGetMethod(true))
		{
		}

		public override ParameterInfo[] GetParameters()
		{
			var index = _property.GetIndexParameters();
			var pi    = new ParameterInfo[index.Length + 1];

			index.CopyTo(pi, 0);
			pi[index.Length] = new FakeParameterInfo("value", _property.PropertyType, _property, null);

			return pi;
		}

		public override string Name
		{
			get { return "set_" + _property.Name; }
		}

		public override Type ReturnType
		{
			get { return typeof(void); }
		}
	}
}