.NET Internals Cookbook Part 12 — Memory structure, attributes, handles

This is the twelfth part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 82. What is a bit-mapped attribute? Custom attribute? Pseudo-custom attribute? There are three types of attributes: Bit-mapped — for instance public Custom — the … Continue reading .NET Internals Cookbook Part 12 — Memory structure, attributes, handles

.NET Internals Cookbook Part 11 — Various C# riddles

This is the eleventh part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 75. What is the TimeSpan resolution? It’s 100 nanoseconds, as specified by the documentation: 76. What is shared between app domains? Quite a few … Continue reading .NET Internals Cookbook Part 11 — Various C# riddles

.NET Internals Cookbook Part 10 — Threads, Tasks, asynchronous code and others

This is the tenth part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 65. How can you await async void method or catch exceptions thrown in it? You need to create your own synchronization context and task … Continue reading .NET Internals Cookbook Part 10 — Threads, Tasks, asynchronous code and others

.NET Internals Cookbook Part 9 — Finalizers, queues, card tables and other GC stuff

This is the ninth part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 59. What happens if an exception is thrown in finalizer? What about infinite loop? Let’s see this code: If you run it in dotnetfiddle … Continue reading .NET Internals Cookbook Part 9 — Finalizers, queues, card tables and other GC stuff