Przykłady kodu w tej odpowiedzi zakładają następujące oświadczenie:
var implementation: MyInterface;
Zapewnienie wdrożenia na żądanie interfejsu
W następstwie przyjętej odpowiedź , jak sugerują niektóre jego commentors, funkcji, która pasuje podpis wywołania interfejsu użytkownika niejawnie implementuje interfejs. Tak więc można użyć dowolnej funkcji dopasowania jako realizacji.
Na przykład:
implementation = () => "Hello";
Nie trzeba wyraźnie określić, że funkcja implementuje interfejs. Jednakże, jeśli chcesz być jawne, można użyć obsady:
implementation = <MyInterface>() => "Hello";
Zapewnienie realizacji wielokrotnego użytku
Jeśli chcesz produkować wielokrotnego użytku implementacji interfejsu jak ty normalnie z # interfejs Java lub C, po prostu gdzieś przechowywać funkcję dostępną dla swoich konsumentów.
Na przykład:
function Greet() {
return "Hello";
}
implementation = Greet;
Zapewnienie parametryzowany realizację
Możesz być w stanie sparametryzuj wdrożenie w taki sam sposób, że może parametryzacji klasę. Oto jeden ze sposobów, aby to zrobić:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Jeśli chcesz być wynikiem wpisane jako interfejs, tylko jawnie ustawić typ zwracanej lub rzucać wartość jest zwracana.