{-# OPTIONS -XEmptyDataDecls #-} module NET.System.TypeCode ( module NET.System.TypeCodeTy , module NET.System.TypeCode ) where import NET import qualified System.IO.Unsafe import qualified NET.System.Type import qualified NET.System.Enum import NET.System.TypeCodeTy data TypeCodeTy = Empty | Object | DBNull | Boolean | Char | SByte | Byte | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Single | Double | Decimal | DateTime | String deriving ( Enum, Show, Read ) toTypeCode :: TypeCodeTy -> TypeCode () toTypeCode tag = System.IO.Unsafe.unsafePerformIO (NET.System.Enum.parse (System.IO.Unsafe.unsafePerformIO (NET.System.Type.getType "System.TypeCode, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")) (show tag)) fromTypeCode :: TypeCode () -> TypeCodeTy fromTypeCode obj = read (show obj)