Book Image

Functional C#

Book Image

Functional C#

Overview of this book

Functional programming makes your application faster, improves performance, and increases your productivity. C# code is written at a higher level of abstraction, so that code will be closer to business requirements, abstracting away many low-level implementation details. This book bridges the language gap for C# developers by showing you how to create and consume functional constructs in C#. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We’ll take you through lambda expressions and extension methods, and help you develop a deep understanding of the concepts and practices of LINQ and recursion in C#. By the end of the book, you will be able to write code using the best approach and will be able to perform unit testing in functional programming, changing how you write your applications and revolutionizing your projects.
Table of Contents (19 chapters)
Functional C#
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Summary


Extension methods give us an easy way to add a new method to an existing class or type without having to modify the original class or type. Besides, we don't need to recompile the code since just after we create the extension method it will be recognized by the code in the project. An extension method has to be declared as a static method inside a static class. As there is no apparent difference compared to the existing methods in a class or type, the method will also appear in the IntelliSense.

Extension methods can also be declared in another assembly, and we have to refer to the namespace of the static class defined the method stored in the other assemblies. However, we can use the piggyback namespace technique, which uses the existing namespace so that we don't need to refer to any other namespace anymore. Not only can we extend the class and type functionality, but we can also extend the interface, collection, and any objects in the framework.

Like other C# technologies, extension...