私はこれを持っています:
public string Log
{
get { return log; }
protected set
{
if (log != value)
{
MarkModified(PropertyNames.Log, log);
log = value;
}
}
}
そして、データバインディング用の私のユーティリティクラスはこれを行います:
PropertyInfo pi = ReflectionHelper.GetPropertyInfo(boundObjectType, sourceProperty);
if (!pi.CanWrite)
SetReadOnlyCharacteristics(boundEditor);
ただし、PropertyInfo.CanWrite は、セットがパブリックにアクセス可能かどうかは気にせず、存在することだけを気にします。
セットだけでなく、公開セットがあるかどうかを判断するにはどうすればよいですか?