Skip to content

Commit d0848d9

Browse files
committed
Fix ToDataTable to skip write-only properties
This is a squashed merge of PR #567 that fixes #564.
1 parent 6a8cb9f commit d0848d9

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

MoreLinq.Test/ToDataTableTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class TestObject
3434

3535
public string AString { get; }
3636
public decimal? ANullableDecimal { get; }
37+
public object Unreadable { set => throw new NotImplementedException(); }
3738

3839
public object this[int index]
3940
{

MoreLinq/ToDataTable.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ static IEnumerable<MemberInfo> PrepareMemberInfos<T>(ICollection<Expression<Func
136136
{
137137
return from m in typeof(T).GetMembers(BindingFlags.Public | BindingFlags.Instance)
138138
where m.MemberType == MemberTypes.Field
139-
|| m.MemberType == MemberTypes.Property && ((PropertyInfo) m).GetIndexParameters().Length == 0
139+
|| m is PropertyInfo p && p.CanRead
140+
&& p.GetIndexParameters().Length == 0
140141
select m;
141142
}
142143

0 commit comments

Comments
 (0)