Skip to content

Instantly share code, notes, and snippets.

Avatar

Alexander Shvedov controlflow

View GitHub Profile
@yevhen
yevhen / gist:5199613
Created Mar 19, 2013
The concept of message handling Component and the example of message handler chaining via functional composition
View gist:5199613
/* somewhere in your Core.CQRS */
// Base class for all ES-based aggregate command handling components;
//
// NOTE: "Component" is a logical grouping of message handlers by function
// They provide good place to encapsulate chaining of cross-cutting concerns
// into a pipeline, providing simplified helper methods for registration of message handlers
//
// Components are similar to Services, thus they only contain handlers of single type (ie Command Handlers only)
// Components operate on envelope (infrastructure) level
@leppie
leppie / gist:6935622
Created Oct 11, 2013
C# COMPILER, Y U MAKE ME SO MUCH CODE WHEN YOU SHOULD KNOW BETTER?
View gist:6935622
#if DEBUG
public static XYZ Normalize(this XYZ c, [CallerMemberName] string caller = "")
#else
public static XYZ Normalize(this XYZ c)
#endif
{
#if DEBUG // completely needless
Debug.Print("normalizing: {0} called from: {1}", c, caller);
#endif
return new XYZ
@controlflow
controlflow / gist:7804901
Created Dec 5, 2013
How C# lambdas with a single ref-type immutable closure can be optimized
View gist:7804901
using System;
static class LiftingClosureToDelegateTarget {
static void Main() {
// normal lambda
{
var str = GetString();
Func<string> f = () => str;
Console.WriteLine(f());
}
@controlflow
controlflow / gist:7846397
Last active Dec 30, 2015
Boolean solver via C# overload resolution
View gist:7846397
static class BooleanSolver {
class T {
public static T operator |(T x, T y) => null;
public static T operator |(T x, F y) => null;
public static T operator &(T x, T y) => null;
public static F operator &(T x, F y) => null;
public static F operator !(T x) => null;
}
class F {
View gist:8380121
class Program
{
// What argument do you need to provide to this method so that it returns true?
public static bool AreYouNuts<T>(T[] array)
{
if (array == null || array.Length == 0)
return false;
var local = (T[]) array.Clone();
View gist:8427915
using System;
using N; // This using directive is unused, but cannot be simply removed
static class C
{
static void Ex(this string x) { }
static void Foo(Action<string> x, int y) { }
static void Foo(Action<string> x, string y) { }
static void Foo(Action<string> x, object y) { }
static void Foo(Action<int> x, int y) { }
View gist:8444468
using System;
unsafe struct S
{
public void* ptr;
public object obj;
static void Main()
{
S s = default(S);
View gist:8530850
using System;
class Base
{
private string x = "x".Print();
}
class Derived : Base
{
private string y = "y".Print();
View gist:8563908
using System;
using System.Runtime.InteropServices;
class Program
{
static void Main()
{
dynamic calc = Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid(148736, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70)));
Console.WriteLine(calc.Evaluate("2+3*5"));
}
@SLaks
SLaks / UltimateEvil.cs
Last active Aug 29, 2015
Run this code as 32 bit and 64 bit, and explain why it crashes on 32-bit
View UltimateEvil.cs
using System;
using System.ComponentModel;
using System.Linq;
class Program {
static void Main(string[] args) {
Console.WriteLine("Attributes: " + typeof(Program)
.GetMembers()
.SelectMany(m => m.GetCustomAttributes(true))
.Count()