我有一个Person
课程,并且基于我在这篇文章中收到的一些帮助。
MonoState, Singleton, or Derived Forms: Best approach for CRUD app?
我有一个CurrentPerson
类(??)它,我通过它访问数据。
我想我明白这应该如何运作,但似乎我没有相当正确。
问题:
对于初学者,不应该Person
且其所有成员变量都私有?
为什么Person
在CurrentPerson
中声明时是静态的?是对的吗?
Person
实际上有子对象Address
,Enrollment
和CaseNote
。我如何加入它们?围绕CurrentEnrollment
的{{1}}包装?
作为应用科学,我对OOP相当陌生,所以其中一些概念对我来说很难想象。
代码很长,我道歉。
Enrollment
P.S。如果DanielBrückner碰巧读到这个,请不要冒犯,因为我不是第二次猜测你的答案;我只需要对某些项目进行更深入的澄清,以便在我的应用程序中正确理解monostate的使用。
答案 0 :(得分:1)
关于字段是否应该是私有的,这只是新的(C#3.0?)方式在没有支持变量的情况下声明属性。一个常见的变化是
public string SomeProperty { get; protected set }
'当然,只要你想在setter中做一些像验证这样的事情就不行了,你必须回去编写setter和getter,并声明一个支持变量。
我不确定静态CurrentPerson.Person()
方法的意图是什么,或者它是如何设置的。
对于第三个问题,如果我理解你的话,你会给Person
类一个Address
类型的属性并访问它:
Console.WriteLine(somePerson.HomeAddress.City);