C#3.0 自動プロパティ

今頃、Microsoft Download Center: Windows, Office, Xbox & Moreを入れました。

C#3.0には自動プロパティという機能が追加され、get、setと書くだけでプロパティが生成されます。

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Person
    {
        public int Age { get; set; }
        public string Name { get; set; }
    }

    class Program
    {
        static void Main(string args)
        {
            Person list = { new Person() { Name = "taro", Age = 20 } };
        }
    }
}

このときに自動作成されるフィールド名は、推測不能なものなので、もし、get、setの一方だけしか定義しなかったらどうなるか気になって調べてみたら、自動プロパティとはならず、単にコンパイルエラーでした。(^^;