@Kyle - I figured it out. It's because if you have code behind in a separate class from your blazor razor front end, it must extend ComponentBase and have a parameterless constructor. Obviously you can't inject dependencies through the constructor, hence the [Inject] attribute. There might be other reasons, but that's the biggest one I've seen ... More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.