Tag Archives

Archive of posts published in the tag: .NET

DotNetBrowser and invalid external method call

Recently I was debugging the issue with DotNetBrowser and external call from JavaScript. I had the following:

So I configure the browser and then set external object to handle callback. The callback is a method accepting two integers. It was called using…

.NET Inside Out Part 18 — Handling StackOverflowException with custom CLR host

This is the eighteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We saw in Part 8 — Handling Stack Overflow…

Higher Kinded Types in C# Part 3 — Heterogenous invoice

This is the third part of the Higher Kinded Types in C# series. For your convenience you can find other parts in the table of contents in Part 1 — Introduction This time we start with this invoice:

Obviously, this breaks things…

Higher Kinded Types in C# Part 2 — Homogenous invoice

This is the second part of the Higher Kinded Types in C# series. For your convenience you can find other parts in the table of contents in Part 1 — Introduction So now we can use invoice with items as Brand< Started, string>.…

Higher Kinded Types in C# Part 1 — Introduction

This is the first part of the HKT series. For your convenience you can find other parts using the links below: Part 1 — Introduction Part 2 — Homogenous invoice Part 3 — Heterogenous invoice Today we will play with higher kinded types…

Async Wandering Part 8 — async and await — the biggest C# mistake?

This is the eighth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Async is one of the most…

Async Wandering Part 7 — Exceptions on unobserved tasks

This is the seventh part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Let’s take this code:

It…

Async Wandering Part 6 — Exceptions logging

This is the sixth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Let’s take the following code:

.NET Inside Out Part 17 — Abusing types to serialize non-serializable type

This is the seventeenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Last time we saw how to abuse type system.…

.NET Inside Out Part 16 — Abusing type system

This is the sixteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Today we are going to play with type system…

.NET Inside Out Part 15 — Starting process on different desktop

This is the fifteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Windows supports multiple desktops for a long time. We…

.NET Inside Out Part 14 — Calling virtual method without dynamic dispatch

This is the fourteenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We know that when we call virtual method we…

.NET Inside Out Part 12 — Modifying managed library on an IL level

This is the twelfth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Imagine that you have a managed library which doesn’t…

Concurrency Part 10 — Reentrant mutex

This is the tenth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET We have already seen how to implement custom mutex using memory mapped files…

Concurrency Part 9 — Semaphores with custom locks

This is the ninth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET Last time we implemented custom mutex based on memory mapped files. We can…

Concurrency Part 8 — Tracking mutex owner

This is the eighth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET We know how to use global mutexes to synchronize processes. However, there is…

Concurrency Part 7 — Semaphores trickery

This is the seventh part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET Last time we examined an interesting behavior of Mutex when it is abandoned.…

.NET Inside Out Part 11 — Using structs for devirtualization

This is the eleventh part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# Last time we saw how type markers can result…

Custom memory allocation in C# Part 13 — In-place serialization

This is the thirteenth part of the Custom memory allocation series. For your convenience you can find other parts in the table of contents in Part 1 — Allocating object on a stack Recently Jean-Bernard Pellerin showed nice tricks for binary serialization in…

.NET Inside Out Part 10 — Using type markers for low level optimizations

This is the tenth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# If you are interested in the topic see the…