Commit 7b5b2297 authored by Sam Saffron's avatar Sam Saffron

allow setting of internal and private properties

parent 0e9de354
...@@ -403,8 +403,8 @@ private static object GetStructDeserializer<T>(IDataReader reader) ...@@ -403,8 +403,8 @@ private static object GetStructDeserializer<T>(IDataReader reader)
var il = dm.GetILGenerator(); var il = dm.GetILGenerator();
var properties = typeof(T) var properties = typeof(T)
.GetProperties(BindingFlags.Public | BindingFlags.Instance) .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
.Select(p => new { Name = p.Name, Setter = p.GetSetMethod(), Type = p.PropertyType }) .Select(p => new { Name = p.Name, Setter = p.GetSetMethod(true), Type = p.PropertyType })
.Where(info => info.Setter != null) .Where(info => info.Setter != null)
.ToList(); .ToList();
......
...@@ -168,6 +168,25 @@ public void TestMassiveStrings() ...@@ -168,6 +168,25 @@ public void TestMassiveStrings()
.IsEqualTo(str); .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% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment