Getting Started With C#
Literals
Operators
Conditional Statements
Equality Operator
Equals and GetHashCode
Null-Coalescing Operator
Null-Conditional Operators
nameof Operator
Verbatim String
Common String Operations
String Format
String Concatenate
String Manipulation
String Interpolation
String Escape Sequences
StringBuilder
Regex
DateTime
Arrays
On Algorithm for circular rotation of an array
Enum
Tuples
Overview of C# collections
GUID
BigInteger
Collection Initializers
Looping
Iterators
IEnumerable
Value type vs Reference type
Built-in Types
Aliases of built-in types
Anonymous types
Dynamic type
Type Conversion
Casting
Nullable types
Constructors and Finalizers
Static constructor
Singleton constructor pattern
Default Constructor
Forcing a static constructor to be called
Calling a constructor from another constructor
Calling the base class constructor
Finalizers on derived classes
Exceptions in static constructors
Calling virtual methods in constructor
Generic Static Constructors
Constructor and Property Initialization
Access Modifiers
Interfaces
Static Classes
Singleton Implementation
Dependency Injection
Partial class and methods
Object Initializers
Methods
Extension Methods
Named Arguments
Named And Optional Arguments
Data Annotation
Keywords
Recursion
Naming Conventions
XML Documentation Comments
Comments and regions
Inheritance
Generics
Using Statement
Using Directive
IDisposable interface
Reflection
IQueryable interface
LINQ to Objects
LINQ Queries
LINQ to XML
Parallel LINQ PLINQ
XmlDocument
XDocument
C# 7.0 Features
C# 6.0 Features
C# 5.0 Features
C# 4.0 Features
C# 3.0 Features
Exception Handling
NullReferenceException
Handling FormatException
Read and Understand Stack trackes
Diagnostics
Overflow
JSON handling
Using json.net
Lambda Expressions
Lambda expressions
Generic Lambda Query Builder
Properties
Initializing Properties
INotifyPropertyChanged interface
Events
Expression Trees
Overload Resolution
Preprocessor directives
Structs
Attributes
Delegates
File and Stream IO
Networking
Performing HTTP requests
Reading and writing .zip files
FileSystemWatcher
Asynchronous Socket
Action Filters
Polymorphism
Immutability
Indexer
Checked and Unchecked
Stream
Timers
Stopwatches
Threading
Async/Await, BackgroundWorker, Task and Thread examples
Async Await
Synchronization Context in Async/Await
BackgroundWorker
Task Parallel Library
Making a variable thread safe
Lock Statement
Yield Keyword
Task Parallel Library TPL Dataflow Constructs
Functional Programming
Func delegates
Function with multiple return values
Binary Serialization
ICloneable
IComparable
Accessing Databases
Using SQLite
Caching
Code Contracts
Code Contracts and Assertions
Structural Design Patterns
Creational Design Patterns
Implementing Decorating Design Pattern
Implementing Flyweight Design Pattern
System.Management.Automation
Pointers
Pointers and Unsafe Code
Simulating C Unions with C# Structs
Reactive Extensions Rx
AsseblyInfo.cs examples
Creating Console Application
CLSCompliantAttribute
ObservableCollection<T>
Hash Functions
Generating Random Numbers
Cryptography
Unsafe Code in .NET
C# Script
Runtime Compile
Interoperability
.NET Compiler Platform Roslyn
Creating Own MessageBox in Windows Form Application
Including Font Resources
Garbage Collector
Windows Communication Foundation
Contributors

Generic Static Constructors

suggest change

If the type on which the static constructor is declared is generic, the static constructor will be called once for each unique combination of generic arguments.

class Animal<T>
{
    static Animal()
    {
        Console.WriteLine(typeof(T).FullName);
    }

	public static void Yawn() { }
}

Animal<Object>.Yawn();
Animal<String>.Yawn();

This will output:

System.Object System.String

See also How do static constructors for generic types work ?

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents
18 Regex
20 Arrays
22 Enum
23 Tuples
25 GUID
89 Events
105 Indexer
107 Stream
108 Timers
128 Caching