プロパティをabstractに
最初どうやるんだろって悩んだ。
普通のプロパティ
public string Name { get{ return name; } set{ name = value; } }
思いついたヤツ
public abstract string Name;
これだとビルド時に以下のようなエラーが出て失敗する。フィールドと認識されているようだ。
修飾子 'abstract' はフィールドで有効ではありません。プロパティを使用してください。
abstractなプロパティ
正しくはこう書く。
public abstract string Name { get; set; }
ただなんとなくこれは許可して欲しかった。以下はabstract宣言しているくせにロジックが入っているよ、とエラーとなる。
public abstract string Name { get; set { name = value; } }
参考URL:http://msdn.microsoft.com/ja-jp/library/w86s7x04(VS.80).aspx