私には3つのタイプがあります:
Patient
Inpatient : Patient
Outpatient : Patient
ベースの患者とそのすべてのプロパティを入力し、オブジェクトPatientRepository.FillPatient()
を返すメソッドがあります。Patient
次に、タイプが何であるかを確認して確認し、またはPatient
のいずれかにダウンキャストする必要があります。Outpatient
Inpatient
ダウンキャストしようとすると、スローされUnable to cast object of type 'Patient' to type 'Inpatient'.
ます これは実行時エラーです。
if (patient.Type == PatientType.Inpatient)
{
var inpatient = (Inpatient)patient;
return inpatient;
}
public enum PatientType
{
Inpatient, Outpatient
}
理由がわかりません。ここで根本的に何か間違ったことをしていますか?