static PlatformInvocation() { const string reasonTemplate = "{0} bindings are not available."; switch (Environment.OSVersion.Platform) { case PlatformID.MacOSX: case PlatformID.Unix: Implementation = new PlatformInvocationLinux(); break; // This may work, actually, assuming we can compile for whatever architecture is used on various types // I guess I'll wait until someone complains that they can't get to Bigtable from their gaming console case PlatformID.Xbox: throw new PlatformNotSupportedException(String.Format(reasonTemplate, "XBox")); default: Implementation = Environment.Is64BitProcess ? (IPlatformInvocation) new PlatformInvocationWin64() : new PlatformInvocationWin32(); break; } }
static PlatformInvocation() { const string reasonTemplate = "{0} bindings are not available."; switch (Environment.OSVersion.Platform) { case PlatformID.MacOSX: case PlatformID.Unix: Implementation = new PlatformInvocationLinux(); break; // This may work, actually, assuming we can compile for whatever architecture is used on various types // I guess I'll wait until someone complains that they can't get to Bigtable from their gaming console case PlatformID.Xbox: throw new PlatformNotSupportedException(String.Format(reasonTemplate, "XBox")); default: Implementation = Environment.Is64BitProcess ? (IPlatformInvocation)new PlatformInvocationWin64() : new PlatformInvocationWin32(); break; } }