提交 e0017edc 编写于 作者: S Sam Saffron

allow setting of internal and private properties

上级 2db7ecfb
......@@ -403,8 +403,8 @@ private static object GetStructDeserializer<T>(IDataReader reader)
var il = dm.GetILGenerator();
var properties = typeof(T)
.GetProperties(BindingFlags.Public | BindingFlags.Instance)
.Select(p => new { Name = p.Name, Setter = p.GetSetMethod(), Type = p.PropertyType })
.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
.Select(p => new { Name = p.Name, Setter = p.GetSetMethod(true), Type = p.PropertyType })
.Where(info => info.Setter != null)
.ToList();
......
......@@ -168,6 +168,25 @@ public void TestMassiveStrings()
.IsEqualTo(str);
}
class TestObj
{
public int _internal;
internal int Internal { set { _internal = value; } }
public int _priv;
internal int Priv { set { _priv = value; } }
}
public void TestSetInternal()
{
connection.ExecuteMapperQuery<TestObj>("select 10 as [Internal]").First()._internal.IsEqualTo(10);
}
public void TestSetPrivate()
{
connection.ExecuteMapperQuery<TestObj>("select 10 as [Priv]").First()._priv.IsEqualTo(10);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册