W języku C# możemy zapewnić domyślną wartość parametrów jako takie:Jak podać wartość domyślną dla parametru typu delegata w C#?
void Foo(int i =0) {}
Ale, gdy podpis metoda jest:
void FooWithDelegateParam(Func<string,string> predicate)
{}
Jak możemy przekazać parametr domyślnie:
void FooWithDelegateParam(Func<string,string> predicate = (string,string x)=> {return y;})
{}
Ale to się nie skompiluje. Jaka jest więc prawidłowa składnia?
Uwaga: Próbuję podać sposób wpisania ciągu wejściowego do programu odwzorowującego łańcuch wyjściowy przez delegata, a jeśli nie jest on podany, po prostu chcę zwrócić ciąg wejściowy. Sugestie dotyczące wszelkich alternatywnych sposobów osiągnięcia tego celu są również wysoko cenione. Dzięki.
Jon jestem ciekaw plusy i minusy każdego z nich. Twoja jest oczywiście metodą "wszystko w jednym", łatwiejszą w utrzymaniu, a moja metoda nie ma przeciążenia środowiska wykonawczego. Coś jeszcze? – Alireza
@Alireza: edytuje odpowiedź, podając więcej szczegółów. –
Dziękuję za poświęcony czas – Alireza