At this point I'm injecting things into my Controllers with ease, in some cases building my own ResolverServices class. Life is good.
What I cannot figure out how to do is get the framework to automatically inject into non-controller classes. What does work is having the framework automatically inject into my controller IOptions, which is effectively the configuration for my project:
public class MessageCenterController : Controller
{
    private readonly MyOptions _options;
    public MessageCenterController(IOptions<MyOptions> options)
    {
        _options = options.Value;
    }
}
I'm thinking whether I can do the same for for my own classes. I assume I'm close when I mimic the controller, like this:
public class MyHelper
{
    private readonly ProfileOptions _options;
    public MyHelper(IOptions<ProfileOptions> options)
    {
        _options = options.Value;
    }
    public bool CheckIt()
    {
        return _options.SomeBoolValue;
    }
}
I think where I'm failing is when I call it like this:
public void DoSomething()
{
    var helper = new MyHelper(??????);
    if (helper.CheckIt())
    {
        // Do Something
    }
}
The problem I have tracking this down is practically everything that talks about DI is talking about it at the controller level. I tried hunting down where it happens in the Controller object source code, but it gets kinda crazy in there.
I do know I can manually create an instance of IOptions and pass it to the MyHelper constructor, but it seems like I should be able to get the framework do that since it works for Controllers.