C# Zwei Zeilen aufdröseln

Ghost_Rider_R

Lieutenant
Registriert
Nov. 2009
Beiträge
752
Hallo zusammen,

kann mir vielleicht jemand die zweite Zeile in die Einzelschritte aufdröseln:

IHostBuilder hostBuilder = Host.CreateDefaultBuilder();
hostBuilder.ConfigureServices(isc => { isc.AddHostedService<MeinDienst>(); });

Speziell der Teil innerhalb der Methode ConfigureServices versteh ich nicht so ganz.

Vielen Dank dafür.

LG Ghost
 
hausaufgabe?

https://learn.microsoft.com/de-de/d...er.configureservices?view=dotnet-plat-ext-6.0
"Fügt dem Container Dienste hinzu. Dies kann mehrmals aufgerufen werden, und die Ergebnisse werden additiv sein."
und für den Linq befehl darin: (=>) (called Lamda expression)
https://stackoverflow.com/questions/29555852/what-is-the-sign-in-linq-queries

für ein Programmier sollte das ausreichen.

hier eine einführung in linq https://learn.microsoft.com/de-de/d...de/concepts/linq/introduction-to-linq-queries
 
Zuletzt bearbeitet von einem Moderator:
aha quereinsteiger :)
okey, ambesten https://learn.microsoft.com/de-de/dotnet/ durcharbeiten. Wenn der Code bereits jetzt LINQ (Lambda) beinhaltet, ist dort bestimmt noch einiges mehr drin, und kann evtl zu verwirrung sorgen im späteren verlauf
 
Zuletzt bearbeitet von einem Moderator:
Tatsächlich ist es nur diese eine Zeile. Der Code funktioniert auch, nur verstehe ich Ihn nicht. Daher würde es mir helfen, wenn mir den jemand aufdröseln könnte.
 
MeinDienst ist eine eigene Klasse, welche an dieser Stelle steht. Seht es als Platzhalter :-)
 
evtl. als tipp. such einmal nach "isc" in deinem quellcode :) (vorallem wenn es deklariert wird) wird vermutlich auf IServiceCollection hinauslaufen. Wenn dir das hilft.
 
Ja, isc steht für IServiceCollection, aber ich bekomme das irgendwie nicht aufgedröselt.
 
naja du erstellst oben ein ihostbuilder objekt mit default werten.

Danach weist du dem hostbuilder objekt ein ein iservicecollection object namens isc zu. (mit den werten die du davor angelegt hast, irgendwann im code)

und bindest dann mit addhost das service object.

für das in der klammer gilt dann folgendes: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-expressions
1663689211271.png
 
  • Gefällt mir
Reaktionen: Ghost_Rider_R
Was verstehst du daran nicht?
Wo ist dabei konkret das Problem? Sind einfach nur Funktionsaufrufe ohne große Magie. Oder störst du dich lediglich am Lambda? Weil die Funktionsaufrufe selbst sind zu Genüge im MSDN erklärt.

Ne Lambda Expression ist prinzipiell nur syntaktischer Zucker für Func<T> oder Action<T>.

Mit LINQ hat das auch nichts zu tun.
 
  • Gefällt mir
Reaktionen: Ghost_Rider_R
Ich glaube jetzt hat es Klick bei mir gemacht durch die Lambda Expressions. Wenn das eine Methode bzw. Lambda-Expression ist, welcher da übergeben wird, dann macht das ja auch wieder Sinn.

Vielen Dank für eure Hilfe!
 
Zurück
Oben