>>514
正直なぜBlittableなのか、参照型ではだめなのか、という話から詰めた方がいいと思うけど

struct Foo {
 public int data;
 public IntPtr fn;
}

static class FooDo {
 public static Do1(ref Foo x) {}
 public static Do2(ref Foo x) {}
}

こんなのをMarshal.GetFunctionPointerForDelegate/GetDelegateForFunctionPointerで相互変換する
厳密にBlittableじゃなくて値型で良いならdelegeteそのままで持てば良いけど