Jump to ratings and reviews
Rate this book

Exam Ref 70-483 Programming in C#

Rate this book
Prepare for the latest versions of Microsoft Exam 70-483 and help demonstrate your real-world mastery of modern C# programming. Designed for experienced C# developers ready to advance their status, Exam Ref focuses on the critical thinking and decision-making acumen needed for success at the MCSA level. Focus on the expertise measured by these This Microsoft Exam For details on requirements for taking Exam 70-483 go to

432 pages, Paperback

Published August 22, 2018

52 people are currently reading
20 people want to read

About the author

Rob Miles

23 books7 followers
Some books under "Rob S. Miles"

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
7 (20%)
4 stars
12 (34%)
3 stars
13 (37%)
2 stars
2 (5%)
1 star
1 (2%)
Displaying 1 - 2 of 2 reviews
Profile Image for Andrei.
7 reviews2 followers
April 16, 2020
"Note that a replacement method is not able to use base to call the method that it has overridden, because it has not overridden a method, it has replaced it. I cannot think of a good reason for replacing a method, and I’m mentioning this feature of C# because I feel you need to know about it; and not because you should use it." - page 148.

First of, you can use the 'base' keyword anywhere in your class, even in constructor bodies. The 'base' variable works in the context of the current instance as if it were an instance of the base class. It is not simply a reference of the base class type because you wouldn't be able to call base class methods if they are overridden in the subclass if this was the case. The context (data members) is the one of the current instance but the vTable (the thing that makes overriding work behind the scenes) is of the base class for the base variable. That's why you can use it anywhere in your class and that's why you can call any method of the base class from anywhere in your class.

Second, which is worse in my humble opinion, has to do with this sentence: "I cannot think of a good reason for replacing a method, and I’m mentioning this feature of C# because I feel you need to know about it; and not because you should use it.". Along side other personal opinions on how code should be written like "When you use an interface in a program you should ensure that all the implementations of any interface methods are explicit." - page 137, sorry but no. If this was the case for collections we wouldn't be using them. Most types in the .NET Framework do not follow this rule or guideline and for good reason. It is mostly an edge case when we implement an interface explicitly and not the other way around. Typically you implement an interface because you want to expose these methods and not hide them.

I don't think it is up to the author to decide whether or not developers should be using a feature or not because they cannot think of a good reason why we should use them. Not to mention that quite a few were skipped, should I consider that the author did not feel that I should know about them? What about using them? You get a 1 star from me for this. I expect exam ref books to be impartial, exams are not based on the personal preferences of an individual. Present the features, if not in detail then write a list for them or refer to other books that cover them.
1 review
January 5, 2021
The thought experiments at the end of each chapter are good but the sequence of chapters is awkward. Plus, it has many typos.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.