PropertyInfo.CanRead Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets a value indicating whether the property can be read.
Assembly: mscorlib (in mscorlib.dll)
The following example defines two properties. The first property is readable, and the CanRead property is true. The second property is not readable (there is no get accessor), and the CanRead property is false.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
using System; using System.Reflection; class Example { // Define one readable property and one that is not readable. private string _caption = "A Default Caption"; public string Caption { get { return _caption; } set { if (_caption!=value) { _caption = value; } } } private string _text = "Default text"; public string Text { set { if (_text!=value) { _text = value; } } } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += "Reflection.PropertyInfo.CanRead\n\n"; Example ex = new Example(); outputBlock.Text += "Caption = " + ex.Caption + "\n"; // The Text property cannot be read because it has no get accessor. The // following line of code causes a compile error: //outputBlock.Text += "Text = " + ex.Text + "\n"; PropertyInfo captionInfo = typeof(Example).GetProperty("Caption"); PropertyInfo textInfo = typeof(Example).GetProperty("Text"); // Display the CanRead properties. outputBlock.Text += "CanRead for the Caption property: " + captionInfo.CanRead + "\n"; outputBlock.Text += "CanRead for the Text property: " + textInfo.CanRead + "\n"; } } /* This example produces the following output: Reflection.PropertyInfo.CanRead Caption = A Default Caption CanRead for the Caption property: True CanRead for the Text property: False */
Note: