Edited at

クラスによるタイプコードの置き換え

More than 5 years have passed since last update.

enumのような定数群をクラスで代替できる。

enumより優れている点はプロパティを持てるということ


BloodGroup.cs

class BloodGroup {

public static readonly BloodGroup O = new BloodGroup(0);
public static readonly BloodGroup A = new BloodGroup(1);
public static readonly BloodGroup B = new BloodGroup(2);
public static readonly BloodGroup AB = new BloodGroup(3);

private readonly int _code;

private BloodGroup(int code) {
_code = code;
}

public int getCode() {
return _code;
}
}



Person.cs

class Person {

private int bloodO = BloodGroup.O.getCode();
private int bloodA = BloodGroup.A.getCode();
}