Je souhaite écrire une expression lambda dans une instruction if if. Mais inline if statement doit avoir des résultats de type forts. Bien sûr, cela ne fonctionne pas, car l'expression de lambda n'est pas fortement typée. J'ai pensé à utiliser Func<intVal, MyType>
délégué, pour le rendre fort type.Comment écrire des expressions lambda fortement typées?
Mais comment puis-je utiliser ce Func<>
en ligne si? Est-ce possible, est-ce que je devrais définir ma propre fonction à l'extérieur et l'utiliser dans inline if statement?
Eh bien, je ne sais pas ce que vous fera avec votre lambda enregistré (utilisez-le localement ou passez-le à un autre objet/méthode). Si vous n'utilisez que le lambda localement, je suppose que vous devriez être en mesure de faire votre travail avec le mot-clé var. –
J'ai changé mon exemple de code. La chose est que je dois utiliser un constructeur avec des paramètres et également définir une autre propriété. L'initialiseur d'objet n'est donc pas pris en compte. –
Vous pouvez utiliser un constructeur avec des paramètres et définir des propriétés avec une expression d'initialisation d'objet - voir ma réponse par exemple. –