場合によっては(プロパティタイプがブール値であるように見える)、プロパティを参照するためにラムダ式が使用されるという問題があります。私はこれを使ってその名前を取得します。問題は、式が追加のConvert()関数を持つように変更される場合があることです。
例えば
GetPropertyName<TSource>(Expression<Func<TSource, object>> propertyLambda) {...}
var str = GetPropertyName<MyObject>(o=>o.MyBooleanProperty);
propertyLambdaがどのように見えるか、そして私が期待することConvert(o.MyBooleanProperty)
ではないことが何が起こっているのか。o.MyBooleanProperty