diff Source/TypeBuilder/Builders/FakeSetter.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/TypeBuilder/Builders/FakeSetter.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,34 @@
+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); }
+		}
+	}
+}