Mercurial > pub > bltoolkit
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); } + } + } +}