Skip to content

Instantly share code, notes, and snippets.

@HaloFour
HaloFour / SynchronizationContextExtensions.cs
Created February 10, 2016 15:17
SynchronizationContext Awaiter Extension Method
public static class SynchronizationContextExtensions {
public struct SynchronizationContextAwaiter : INotifyCompletion {
private readonly SynchronizationContext context;
public SynchronizationContextAwaiter(SynchronizationContext context) {
this.context = context;
}
public bool IsCompleted {
get { return (context == null); }
@HaloFour
HaloFour / Covariance.il
Created January 30, 2015 19:50
Covariance in MSIL/CIL
.assembly extern mscorlib {
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
.ver 4:0:0:0
}
.assembly Covariance {
.ver 1:0:0:0
}
.module Covariance.exe
.subsystem 0x0003
@HaloFour
HaloFour / gist:a986f87949145c4c19d3
Created January 22, 2015 16:56
Enumerable/Struct Perf Tests
using System;
using System.Collections.Generic;
using System.Diagnostics;
public struct CompilerGeneratedArgs3 : IEnumerable<int>
{
private struct Enumerator : IEnumerator<int>
{
private readonly CompilerGeneratedArgs3 args;
private int index;