Angular2 — присваивание в конструкторе в TypeScript как это работает?
private _http: Http;

constructor(http: Http) {
    this._http = http;
}
Подход - Inversion of Control и Dependency Injection как реализация подхода
Как работает ассайн пропертей из конструктора и почему так делать удобнее: https://www.stevefenton.co.uk/2013/04/stop-manuall...
Зачем вам инжектить именно в метод? В этом есть какой-то смысл?
Я думаю то что вы хотите можно сделать вот так take.ms/Jt2pn. Нужно использовать this.inject, а появляется этот инжектор в классе из-за декоратора @Injectable() (@Directive и @Pipe наследуют от @Injectable). Когда вы инжектите в конструктор неявно происходит вот это, очень приблизительно:@Injectable()
export class ApiService {
    private _http: Http
    constructor() {
        this.injector = ReflectiveInjector.resolveAndCreate([Http]); // автоматически разрешает зависимости и заменяет new Http()
        this._http = this.injector.get(Http) // получаем синглтон в пределах инжектора https://angular.io/docs/ts/latest/guide/hierarchical-dependency-injection.html
    }
}
А как ангуляр понимает, что это не просто параметр, а di? В инжекторе есть map в которой регистрируются зависимости, ключами являются типы внедряемых классов, в данном случае Http.
В официально документации все это написано, понятно даже с гугл переводчиком.