Controlling Nested Class Instantiation in C#

    Controlling Nested Class Instantiation in C#

    Feb 17, 2025
    Categories: C#

    Restrict nested class instantiation within your assembly. C# solutions using delegates, factories, and static abstract members.

    Read
    How to Ask Programming Questions: The Importance of Defining Data Over Code

    How to Ask Programming Questions: The Importance of Defining Data Over Code

    Feb 10, 2025
    Categories: General

    The importance of data over code when asking programming questions and solving problems. How a well-formed question should always start and end with a clear definition of the data, rather than focusing solely on code implementation

    Read
    Data Driven Code Design

    Data Driven Code Design

    Feb 3, 2025
    Categories: C#, Architecture

    How to think in terms of data when designing a system. The importance of designing systems where impossible states are impossible to represent by using a single source of truth instead of multiple state variables

    Read
    How to Extend a Type's State by Adding Fields with ConditionalWeakTable

    How to Extend a Type's State by Adding Fields with ConditionalWeakTable

    Jan 27, 2025
    Categories: C#

    Learn how to extend a type's state by adding fields to it with the use of the ConditionalWeakTable that pairs additional data with an existing type and the differences between ConditionalWeakTable and Dictionary

    Read
    Static and Compile-Time Polymorphism in C#

    Static and Compile-Time Polymorphism in C#

    Jan 20, 2025
    Categories: C#

    What compile-time and static polymorphism are, how they work, and the various ways to implement them in C#

    Read
    Understanding Nullable Value Types in C#

    Understanding Nullable Value Types in C#

    Jan 14, 2025
    Categories: C#

    Nullable value types in C#, their purpose, and how to use them effectively. Where nullable value types can simplify code, such as replacing 'magic numbers', handling value types with undefined states, and managing values that may not be immediately available.

    Read
Follow me: