2016-03-02 67 views
0

我在一個項目中有一個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; 
+0

@Clemens嘗試了這個temporaryExam.Exam = exam;它可以工作,但方法仍然無法訪問:/ – user3215947

+1

像WCF項目的聲音不是最新的。確保它的構建正確,並且在WPF項目中引用它是引用實際構建而不是陳舊的副本。 –

+0

@Cameron我再次發佈了WCF項目並更新了WPF項目中的服務引用,但仍然得到相同的錯誤。 TemporaryExam類是WCF項目中的一個獨立文件嗎? – user3215947

回答

0

嘗試從方法removinig類型參數(問題),你可能需要定義自定義類型從WCF項目暴露。

相關問題