プロパティ

プロパティの機構も言語レベルでサポートしてるみたいです。JavaでいうGetter/Setterのアクセッサですね

using System;

namespace hogehoge
{
  class Program
  {
    public static void Main(String[] args)
    {
      JavaBeans bean =  new JavaBeans();
      bean.Name = "ほげほげ"; <-実はSetterでアクセスしてる
      Console.WriteLine(bean.Name); <-実はGetterでアクセスしてる
    }
  }


  class JavaBeans
  {
    private String name;
    private int age;
    public String Name
    {
      set { this.name = value; } <-Setterの定義
      get { return this.name;} <-Getterの定義
    }
  }
}

インデクサ

さっきのプロパティ機構をつかって、内部のフィールドの配列にその変数名をつかってアクセスすることができます。これをインデクサって呼ぶみたいです。

using System;

namespace hogehoge
{
  class Program
  {
    public static void Main(String[] args)
    {
      JavaBeans bean =  new JavaBeans();
      for (int i = 0; i < 3; i++)
      {
        Console.WriteLine(bean[i]); <-変数自体が配列に見える
      }
    }
  }


  class JavaBeans
  {
    private String[] names = new String[] { "ほげほげ", "ふがふが", "ふーふー" };
    public String this[int index]  <-this自身をアクセッサにしてる
    {
      get
      {
        return names[index];
      }
      set
      {
        names[index] = value;
      }

    }

  }
}

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

現在のアクセス:1966


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-09-23 (木) 19:19:45 (5190d)