MySources
Links those are informative for me !
1. Equatable, GetHashCode, Implementing Equality
- What is the difference between IEqualitycomparer T and IEquatable T
- How does HashSet compare elements for Equality
- IEquatablet with GetHashCode
- Force child class to override function of ancestor via parent
- Notes to implementers to implement Equals
- Can I enforce the overriding of GetHashCode() and Equals() methods for users of a generic container class?
- Should GetHashCode be implemented for IEquatable on mutable types?
2. Interface and Abstract Class
- When should I choose inheritance over an interface when designing C# class libraries?
- What's the difference between implementing an Interface explicitly or implicitly?
- Implicit vs Explicit Interface Implementation
- Explicitly marking derived class as implementing interface of base class
- Overriding fields or properties in subclasses
- Interface vs Abstract Class (general OO)
- C# Interface Implementation relationship is just “Can-Do” Relationship?
3. Covariant Return Type Error
-
Docs
-
Github Issues
-
Stackoverflow Questions
- Why was IEquatable T not made contravariant in T for C# 4.0?
- “Interface not implemented” when Returning Derived Type
- Does C# support return type covariance?
- Why C# doesn't allow inheritance of return type when implementing an Interface
- The return type of the members on an Interface Implementation must match exactly the interface definition?
- C# return type covariance and Liskov substitution principle
- What do you need Covariant Return Types for?
- C# covariant return types utilizing generics
4. Gists
- HtmlAgilityPack Encapsulator Example
- Generic Equality Comparer for type T
- VSCode launch configuration for building and testing csharp code by pressing F5
- Example .gitignore file I use for C# projects
5. Closures
- Jon Skeet
- Erik Lippert
- StackOverflow
- Captured variable in a loop in C#
- Captured Closure (Loop Variable) in C# 5.0
- Reference type variable recycling - is a new reference variable created every loop in a loop if declared therein?
- Is there a reason for C#'s reuse of the variable in a foreach?
- Is it better coding practice to define variables outside a foreach even though more verbose?
- What is a closure?
- What is a 'Closure'?
- Starting Tasks In foreach Loop Uses Value of Last Item
6. Expression
- Microsoft Docs
- Other Docs
- Geeks for Geeks
- Marc Gravell
- Use Cases
- Comparison : Delegate, Lambada , Expression , Reflection