What is the difference between using a PropertyDescriptor
that returns a value for the IsReadOnly()
method, and one that is associated with a ReadOnlyAttribute
?
The main difference is that this allows you to seize more control if you provide your own PropertyDescriptor
implementation (via ICustomTypeDescriptor
, TypeDescriptionProvider
or TypeConverter
). Then you can choose your own logic for when it is writeable - for example, based on access rights.
But yes; under the default implementation, it will report read-only for properties without setters, and for properties marked with ReadOnlyAttribute
.
No difference when I look at it using Reflector.
One of the derived class SimplePropertyDescriptor has the following code.
public override bool IsReadOnly
{
get
{
return this.Attributes.Contains(ReadOnlyAttribute.Yes);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With