1

この問題のトラブルシューティングを試みています。実質的に同一であるにもかかわらず、ある数値を別の数値に割り当てることはできないようです。

タイプ 'Project.Models.Concern.YesNo' を 'Project.ViewModels.PatientConcernsViewModel.YesNo' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

public class Concern
{
    public int ConcernID { get; set; }
    public YesNo LifeExpectancy { get; set; }
    public YesNo CollateralHistoryAvailable { get; set; }

    public enum YesNo
    {
        Yes,
        No
    }
}

public class PatientConcernsViewModel
{
    public int ConcernID { get; set; }

    public YesNo LifeExpectancy { get; set; }        
    public YesNo CollateralHistoryAvailable { get; set; }

    public enum YesNo
    {
        Yes,
        No
    }
}

// FROM WITHIN MY CONTROLLER

var concern = concernRepository.Find(id);

// load related assessment data
var assessment = assessmentRepository.Find(AssessmentID);

PatientConcernsViewModel patientConcernsViewModel = new PatientConcernsViewModel();

// BOTH LINES BELOW GENERATE ERRORS            
patientConcernsViewModel.CollateralHistoryAvailable = concern.CollateralHistoryAvailable;
patientConcernsViewModel.LifeExpectancy = concern.LifeExpectancy;
4

4 に答える 4

0

2 つの完全に異なる列挙型があり、たまたま同じ項目と完全修飾名の最後の単語が同じです。

エラーがあなたが持っていると述べているようProject.Models.Concern.YesNoProject.ViewModels.PatientConcernsViewModel.YesNo

列挙型をより適切な場所に配置するだけで、両方のクラスがそれを使用でき、2 つの型はありません。

上記はあなたの質問に答えますが、Aronは、私が想像できるほとんどすべての目的で、ブール値はYes/No列挙型よりも優れていると述べています。

于 2013-10-09T14:46:50.500 に答える