Dependency Injected into the world of C#

Quite recently I have begun to learn Visual C#.  Even more recently I have started to learn WPF and how to incorporate Dependency Injection (D.I.) in my code.  Jolly good times.  I will come back with some insights and examples and possibly just some notes for myself that will help clarify what I am learning.  Already, it is interesting to see that I have already used some of these concepts in some fashion or another, but not outright.

One thing is for sure, as usual, the tutorials and documentation are absolutely TERRIBLE.  One I read recently was named "Super Simple Example of ..."  The writer had no concept of grammar, misspelled words constantly, had typos with the wrong words all over the article, and the "simple" example he claimed to be showing went WAY outside of the scope of the topic, brought in a third party API, used snippets of code instead of complete code, and had rambled and bumbled through about 10 entirely disparate programming concepts by the bottom of the first page.  THIS, my friends, is par for the course on the internet and in all of the programming world.  IF only those who know, knew how to explain WHAT they know to someone else.  Alas, this is rarely the case.  All to often, in the end, I find myself reading "official" Microsoft documentation (gag me with a spoon) and running back and forth between programming dictionaries, Wikipedia entries and scanning through Stack Overflow, desperately looking for coherent (but comprehensive) definitions of every other word in the documentation.

One of the cardinal rules for writing actual speaking language dictionaries is that you cannot use the word itself in its definition and that you should avoid, at all costs, using closely related, but just as obscure, words and/or colloquialisms from the same removed and little known dialects.  For instance you don't define a codger as a zany nutter, because those terms are also only fully understood if you ALREADY speak the dialect.  While speaking in jargon is perfectly acceptable when at work in one's profession, you are being either inconsiderate, out-rightly obnoxious, or completely oblivious if you are using jargon to explain jargon inside of a tutorial that claims to introduce new concepts.  Even the simplest of children can see that this will only lead to going around in circles forever.

Let's hope I can sift through the roadblocks, circular logic explanations, and A is A definitions as quickly as possible and get to the nuts and bolts underneath it all, and that I can share a few bits of information along the way.  The inter-webs are in dire need of some serious decoding back to reality.