为什么类的公共属性可见但不是MVVM中的公共方法?
问题描述:
我在一个项目中有一个WPF窗口与WCF项目在同一个解决方案中。在WCF项目中,我有一个公共类和公共属性和公共方法。为什么类的公共属性可见但不是MVVM中的公共方法?
public class TemporaryExam
{
public Exam Exam { get; set; }
public List<Question> Questions { get; set; }
public List<PossibleAnswer> PossibleAnswers { get; set; }
public void AddQuestion(Question question)
{
Questions.Add(question);
}
public void AddPossibleAnswer(PossibleAnswer possibleAnswer)
{
PossibleAnswers.Add(possibleAnswer);
}
}
在窗口代码隐藏我可以指定值的属性,但得到一个错误,指出TemporaryExam不包含定义AddQuestion(问题)。
TemporaryExam temporaryExam = new TemporaryExam();
Exam exam = new Exam { Id = Guid.NewGuid(), Title = "Exam3" };
Question question = new Question
{
Id = Guid.NewGuid(),
ExamQuestion = "Vad heter du?",
ExamId_Id = exam.Id
};
PossibleAnswer possibleAnswer = new PossibleAnswer
{
Id = Guid.NewGuid(),
PossibleAnswer1 = "Bamse",
QuestionId_Id = question.Id
};
temporaryExam.AddQuestion(question);
为什么这些属性是可见的而不是方法?
编辑: 这不会产生误差修改:
temporaryExam.Exam = exam;
答
尝试从方法removinig类型参数(问题),你可能需要定义自定义类型从WCF项目暴露。
@Clemens尝试了这个temporaryExam.Exam = exam;它可以工作,但方法仍然无法访问:/ – user3215947
像WCF项目的声音不是最新的。确保它的构建正确,并且在WPF项目中引用它是引用实际构建而不是陈旧的副本。 –
@Cameron我再次发布了WCF项目并更新了WPF项目中的服务引用,但仍然得到相同的错误。 TemporaryExam类是WCF项目中的一个独立文件吗? – user3215947