Page 20 : 29
Object-oriented Programming in C#
Reference types, Value types, and Patterns
* Reference Types
Reference Types
Illustration of variables of reference types
Overview of reference types in C#
Comparing and copying objects via references
Equality in C#
* Value Types
Value types
Illustration of variables of value types
Structs in C#
Structs and Initialization
Structs versus classes
Examples of mutable structs in C#
Examples of immutable structs in C#
Boxing and Unboxing
Nullable types
* Organization of C# Programs
Program Organization
Examples of Program Organization
Namespaces and Visibility
Namespaces and Assemblies
* Patterns and Techniques
Design Patterns
Object-oriented Design Patterns
The Singleton pattern
A Singleton Random Class
Factory methods
Examples of Static Factory Methods
Privacy Leaks
Namespaces and Visibility
Which kinds of visibility apply for types and namespaces in namespaces?
Types declared in a namespace
Can either have public or internal access
The default visibility is internal
Internal visibility is relative to an assembly - not a namespace
Namespaces in namespaces
There is no visibility attached to namespaces
A namespace is implicitly public within its containing namespace
Visibility of members in types
Visibility Issues