私には3つのタイプがあります:
PatientInpatient : PatientOutpatient : Patient
ベースの患者とそのすべてのプロパティを入力し、オブジェクトPatientRepository.FillPatient()を返すメソッドがあります。Patient
次に、タイプが何であるかを確認して確認し、またはPatientのいずれかにダウンキャストする必要があります。OutpatientInpatient
ダウンキャストしようとすると、スローされ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
}
理由がわかりません。ここで根本的に何か間違ったことをしていますか?