C#では、コンストラクターを使用せずに作成時にオブジェクトのフィールドを初期化するためのオブジェクト初期化子があります。
サブクラスを定義するときに、オーバーライド構文を実際に使用せずに既知のプロパティの値を宣言するだけで、クラスのプロパティを「初期化」できることを意味するクラスに相当するものがあるかどうか疑問に思っています。
例:
public abstract class Car {
public abstract string Name { get; }
}
// usual approach
public class Mustang : Car {
public overwrite string Name { get { return "Ford Mustang"; } }
}
// my idea of avoiding boilerplate code
public class Mustang : Car { Name = "Ford Mustang" }
これを達成する方法はありますか?何もない場合、T4 テンプレートは役に立ちますか?