このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

PropertyInfo.CanRead プロパティ

2013/12/12

プロパティを読み取ることができるかどうかを示す値を取得します。

Namespace:  System.Reflection
アセンブリ:  mscorlib (mscorlib.dll 内)

public abstract bool CanRead { get; }

プロパティ値

型: System.Boolean
このプロパティを読み取ることができる場合は true。それ以外の場合は false

プロパティに get アクセサーがない場合は、読み取ることができません。

CanRead プロパティを取得するには、最初に Type クラスを取得します。次に、その Type から PropertyInfo を取得します。PropertyInfo からは CanRead 値を取得します。

2 つのプロパティを定義する例を次に示します。最初のプロパティは読み取り可能で、CanRead プロパティは true です。2 番目のプロパティは読み取り不可で (get アクセサーなし)、CanRead プロパティは false です。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


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
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft