text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "beatsaber-hook/shared/utils/typedefs.h"
  #include "beatsaber-hook/shared/utils/byref.hpp"
  // Including type: System.IntPtr
  #include "System/IntPtr.hpp"
  #include "beatsaber-hook/shared/utils/typedefs-array.hpp"
  #include "beatsaber-hook/shared/utils/typedefs-string.hpp"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: System
  namespace System {
    // Forward declaring type: Type
    class Type;
    // Forward declaring type: Exception
    class Exception;
    // Forward declaring type: ArgumentException
    class ArgumentException;
    // Forward declaring type: ArgumentOutOfRangeException
    class ArgumentOutOfRangeException;
    // Forward declaring type: InvalidOperationException
    class InvalidOperationException;
    // Forward declaring type: NotSupportedException
    class NotSupportedException;
  }
  // Forward declaring namespace: System::Data
  namespace System::Data {
    // Forward declaring type: AcceptRejectRule
    struct AcceptRejectRule;
    // Forward declaring type: MissingSchemaAction
    struct MissingSchemaAction;
    // Forward declaring type: Rule
    struct Rule;
  }
  // Completed forward declares
  // Type namespace: System.Data.Common
  namespace System::Data::Common {
    // Forward declaring type: ADP
    class ADP;
  }
  #include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(::System::Data::Common::ADP);
  DEFINE_IL2CPP_ARG_TYPE(::System::Data::Common::ADP*, "System.Data.Common", "ADP");
  // Type namespace: System.Data.Common
  namespace System::Data::Common {
    // Size: 0x10
    #pragma pack(push, 1)
    // Autogenerated type: System.Data.Common.ADP
    // [TokenAttribute] Offset: FFFFFFFF
    class ADP : public ::Il2CppObject {
      public:
      // Get static field: static private readonly System.Type s_stackOverflowType
      static ::System::Type* _get_s_stackOverflowType();
      // Set static field: static private readonly System.Type s_stackOverflowType
      static void _set_s_stackOverflowType(::System::Type* value);
      // Get static field: static private readonly System.Type s_outOfMemoryType
      static ::System::Type* _get_s_outOfMemoryType();
      // Set static field: static private readonly System.Type s_outOfMemoryType
      static void _set_s_outOfMemoryType(::System::Type* value);
      // Get static field: static private readonly System.Type s_threadAbortType
      static ::System::Type* _get_s_threadAbortType();
      // Set static field: static private readonly System.Type s_threadAbortType
      static void _set_s_threadAbortType(::System::Type* value);
      // Get static field: static private readonly System.Type s_nullReferenceType
      static ::System::Type* _get_s_nullReferenceType();
      // Set static field: static private readonly System.Type s_nullReferenceType
      static void _set_s_nullReferenceType(::System::Type* value);
      // Get static field: static private readonly System.Type s_accessViolationType
      static ::System::Type* _get_s_accessViolationType();
      // Set static field: static private readonly System.Type s_accessViolationType
      static void _set_s_accessViolationType(::System::Type* value);
      // Get static field: static private readonly System.Type s_securityType
      static ::System::Type* _get_s_securityType();
      // Set static field: static private readonly System.Type s_securityType
      static void _set_s_securityType(::System::Type* value);
      // Get static field: static readonly System.Boolean IsWindowsNT
      static bool _get_IsWindowsNT();
      // Set static field: static readonly System.Boolean IsWindowsNT
      static void _set_IsWindowsNT(bool value);
      // Get static field: static readonly System.Boolean IsPlatformNT5
      static bool _get_IsPlatformNT5();
      // Set static field: static readonly System.Boolean IsPlatformNT5
      static void _set_IsPlatformNT5(bool value);
      // Get static field: static readonly System.String StrEmpty
      static ::StringW _get_StrEmpty();
      // Set static field: static readonly System.String StrEmpty
      static void _set_StrEmpty(::StringW value);
      // Get static field: static readonly System.String[] AzureSqlServerEndpoints
      static ::ArrayW<::StringW> _get_AzureSqlServerEndpoints();
      // Set static field: static readonly System.String[] AzureSqlServerEndpoints
      static void _set_AzureSqlServerEndpoints(::ArrayW<::StringW> value);
      // Get static field: static readonly System.IntPtr PtrZero
      static ::System::IntPtr _get_PtrZero();
      // Set static field: static readonly System.IntPtr PtrZero
      static void _set_PtrZero(::System::IntPtr value);
      // Get static field: static readonly System.Int32 PtrSize
      static int _get_PtrSize();
      // Set static field: static readonly System.Int32 PtrSize
      static void _set_PtrSize(int value);
      // static private System.Void .cctor()
      // Offset: 0x14A177C
      static void _cctor();
      // static private System.Void TraceException(System.String trace, System.Exception e)
      // Offset: 0x14A09BC
      static void TraceException(::StringW trace, ::System::Exception* e);
      // static System.Void TraceExceptionAsReturnValue(System.Exception e)
      // Offset: 0x14A0A6C
      static void TraceExceptionAsReturnValue(::System::Exception* e);
      // static System.Void TraceExceptionWithoutRethrow(System.Exception e)
      // Offset: 0x14A0AE4
      static void TraceExceptionWithoutRethrow(::System::Exception* e);
      // static System.ArgumentException Argument(System.String error)
      // Offset: 0x14A0B5C
      static ::System::ArgumentException* Argument(::StringW error);
      // static System.ArgumentOutOfRangeException ArgumentOutOfRange(System.String parameterName)
      // Offset: 0x14A0BF0
      static ::System::ArgumentOutOfRangeException* ArgumentOutOfRange(::StringW parameterName);
      // static System.ArgumentOutOfRangeException ArgumentOutOfRange(System.String message, System.String parameterName)
      // Offset: 0x14A0C84
      static ::System::ArgumentOutOfRangeException* ArgumentOutOfRange(::StringW message, ::StringW parameterName);
      // static System.InvalidOperationException InvalidOperation(System.String error)
      // Offset: 0x14A0D28
      static ::System::InvalidOperationException* InvalidOperation(::StringW error);
      // static System.NotSupportedException NotSupported(System.String error)
      // Offset: 0x14A0DBC
      static ::System::NotSupportedException* NotSupported(::StringW error);
      // static System.Boolean IsCatchableExceptionType(System.Exception e)
      // Offset: 0x14A0E50
      static bool IsCatchableExceptionType(::System::Exception* e);
      // static System.Boolean IsCatchableOrSecurityExceptionType(System.Exception e)
      // Offset: 0x14A10B8
      static bool IsCatchableOrSecurityExceptionType(::System::Exception* e);
      // static System.ArgumentOutOfRangeException InvalidEnumerationValue(System.Type type, System.Int32 value)
      // Offset: 0x14A12E0
      static ::System::ArgumentOutOfRangeException* InvalidEnumerationValue(::System::Type* type, int value);
      // static System.Exception InvalidSeekOrigin(System.String parameterName)
      // Offset: 0x14A1400
      static ::System::Exception* InvalidSeekOrigin(::StringW parameterName);
      // static System.ArgumentOutOfRangeException InvalidAcceptRejectRule(System.Data.AcceptRejectRule value)
      // Offset: 0x14A1478
      static ::System::ArgumentOutOfRangeException* InvalidAcceptRejectRule(::System::Data::AcceptRejectRule value);
      // static System.ArgumentOutOfRangeException InvalidMissingSchemaAction(System.Data.MissingSchemaAction value)
      // Offset: 0x14A1534
      static ::System::ArgumentOutOfRangeException* InvalidMissingSchemaAction(::System::Data::MissingSchemaAction value);
      // static System.ArgumentOutOfRangeException InvalidRule(System.Data.Rule value)
      // Offset: 0x14A15F0
      static ::System::ArgumentOutOfRangeException* InvalidRule(::System::Data::Rule value);
      // static System.Exception WrongType(System.Type got, System.Type expected)
      // Offset: 0x14A16AC
      static ::System::Exception* WrongType(::System::Type* got, ::System::Type* expected);
    }; // System.Data.Common.ADP
    #pragma pack(pop)
  }
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: System::Data::Common::ADP::_cctor
  // Il2CppName: .cctor
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)()>(&System::Data::Common::ADP::_cctor)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), ".cctor", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::TraceException
  // Il2CppName: TraceException
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::StringW, ::System::Exception*)>(&System::Data::Common::ADP::TraceException)> {
    static const MethodInfo* get() {
      static auto* trace = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* e = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "TraceException", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{trace, e});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::TraceExceptionAsReturnValue
  // Il2CppName: TraceExceptionAsReturnValue
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::System::Exception*)>(&System::Data::Common::ADP::TraceExceptionAsReturnValue)> {
    static const MethodInfo* get() {
      static auto* e = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "TraceExceptionAsReturnValue", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{e});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::TraceExceptionWithoutRethrow
  // Il2CppName: TraceExceptionWithoutRethrow
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)(::System::Exception*)>(&System::Data::Common::ADP::TraceExceptionWithoutRethrow)> {
    static const MethodInfo* get() {
      static auto* e = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "TraceExceptionWithoutRethrow", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{e});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::Argument
  // Il2CppName: Argument
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentException* (*)(::StringW)>(&System::Data::Common::ADP::Argument)> {
    static const MethodInfo* get() {
      static auto* error = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "Argument", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{error});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::ArgumentOutOfRange
  // Il2CppName: ArgumentOutOfRange
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::StringW)>(&System::Data::Common::ADP::ArgumentOutOfRange)> {
    static const MethodInfo* get() {
      static auto* parameterName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "ArgumentOutOfRange", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{parameterName});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::ArgumentOutOfRange
  // Il2CppName: ArgumentOutOfRange
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::StringW, ::StringW)>(&System::Data::Common::ADP::ArgumentOutOfRange)> {
    static const MethodInfo* get() {
      static auto* message = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* parameterName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "ArgumentOutOfRange", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{message, parameterName});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidOperation
  // Il2CppName: InvalidOperation
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::InvalidOperationException* (*)(::StringW)>(&System::Data::Common::ADP::InvalidOperation)> {
    static const MethodInfo* get() {
      static auto* error = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidOperation", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{error});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::NotSupported
  // Il2CppName: NotSupported
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::NotSupportedException* (*)(::StringW)>(&System::Data::Common::ADP::NotSupported)> {
    static const MethodInfo* get() {
      static auto* error = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "NotSupported", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{error});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::IsCatchableExceptionType
  // Il2CppName: IsCatchableExceptionType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(::System::Exception*)>(&System::Data::Common::ADP::IsCatchableExceptionType)> {
    static const MethodInfo* get() {
      static auto* e = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "IsCatchableExceptionType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{e});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::IsCatchableOrSecurityExceptionType
  // Il2CppName: IsCatchableOrSecurityExceptionType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (*)(::System::Exception*)>(&System::Data::Common::ADP::IsCatchableOrSecurityExceptionType)> {
    static const MethodInfo* get() {
      static auto* e = &::il2cpp_utils::GetClassFromName("System", "Exception")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "IsCatchableOrSecurityExceptionType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{e});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidEnumerationValue
  // Il2CppName: InvalidEnumerationValue
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::System::Type*, int)>(&System::Data::Common::ADP::InvalidEnumerationValue)> {
    static const MethodInfo* get() {
      static auto* type = &::il2cpp_utils::GetClassFromName("System", "Type")->byval_arg;
      static auto* value = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidEnumerationValue", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{type, value});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidSeekOrigin
  // Il2CppName: InvalidSeekOrigin
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Exception* (*)(::StringW)>(&System::Data::Common::ADP::InvalidSeekOrigin)> {
    static const MethodInfo* get() {
      static auto* parameterName = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidSeekOrigin", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{parameterName});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidAcceptRejectRule
  // Il2CppName: InvalidAcceptRejectRule
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::System::Data::AcceptRejectRule)>(&System::Data::Common::ADP::InvalidAcceptRejectRule)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System.Data", "AcceptRejectRule")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidAcceptRejectRule", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidMissingSchemaAction
  // Il2CppName: InvalidMissingSchemaAction
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::System::Data::MissingSchemaAction)>(&System::Data::Common::ADP::InvalidMissingSchemaAction)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System.Data", "MissingSchemaAction")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidMissingSchemaAction", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::InvalidRule
  // Il2CppName: InvalidRule
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::ArgumentOutOfRangeException* (*)(::System::Data::Rule)>(&System::Data::Common::ADP::InvalidRule)> {
    static const MethodInfo* get() {
      static auto* value = &::il2cpp_utils::GetClassFromName("System.Data", "Rule")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "InvalidRule", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{value});
    }
  };
  // Writing MetadataGetter for method: System::Data::Common::ADP::WrongType
  // Il2CppName: WrongType
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::System::Exception* (*)(::System::Type*, ::System::Type*)>(&System::Data::Common::ADP::WrongType)> {
    static const MethodInfo* get() {
      static auto* got = &::il2cpp_utils::GetClassFromName("System", "Type")->byval_arg;
      static auto* expected = &::il2cpp_utils::GetClassFromName("System", "Type")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(System::Data::Common::ADP*), "WrongType", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{got, expected});
    }
  };
  