Reading Observer For more information, see Iview Of
ObserverMode Overview
.
I found a problem. If it is class inheritance, it is like Observer And Concreteobserver , The parent class has a field Asubject Set Protected Of course, it can be a quilt class. Concreteobserver Reference, this field is also GET/Set Of Property Attribute! Then in the subclass Concreteobserver Which function is used in?
Public Override VoidUpdate ()
{
// First Use Property : This . Observedsubject
System. Console. writeline ("In observer {0}: datafrom subject {1 }",
Strobservername,This. observedsubject. Importantsubjectdata );
// Second Use Protected : Asubject
System. Console. writeline ("In observer {0}: datafrom subject {1 }",
Strobservername,Asubject. Importantsubjectdata );
}
In fact, both of them can be used, becausePropertyIt can also be accessed by the quilt class. Generally, there should not be two egresses to the subclass,
I want to discuss it,PropertyUnder what conditions is used.
ObviouslyProtectedThe original intention is to use it for inheritance. I think it is used hereProtected !
CompleteCodeSee ObserverCode