static Util() { #region memcpy Init unsafe { var dynamicMethod = new DynamicMethod ( "memcpy", typeof(void), new[] { typeof(void*), typeof(void*), typeof(uint) }, typeof(Util) ); var ilGenerator = dynamicMethod.GetILGenerator(); ilGenerator.Emit(OpCodes.Ldarg_0); // push des ilGenerator.Emit(OpCodes.Ldarg_1); // push src ilGenerator.Emit(OpCodes.Ldarg_2); // push bytes ilGenerator.Emit(OpCodes.Cpblk); // memcpy ilGenerator.Emit(OpCodes.Ret); // return m_memcpy = (MemcpyCallback)dynamicMethod.CreateDelegate(typeof(MemcpyCallback)); } #endregion memcpy Init }
static Util() { #region memcpy Init unsafe { var dynamicMethod = new DynamicMethod ( "memcpy", typeof(void), new[] { typeof(void *), typeof(void *), typeof(uint) }, typeof(Util) ); var ilGenerator = dynamicMethod.GetILGenerator(); ilGenerator.Emit(OpCodes.Ldarg_0); // push des ilGenerator.Emit(OpCodes.Ldarg_1); // push src ilGenerator.Emit(OpCodes.Ldarg_2); // push bytes ilGenerator.Emit(OpCodes.Cpblk); // memcpy ilGenerator.Emit(OpCodes.Ret); // return m_memcpy = (MemcpyCallback)dynamicMethod.CreateDelegate(typeof(MemcpyCallback)); } #endregion memcpy Init #region Invalid Characters Init // A hashset of invalid path and filename characters m_invalidPathChars = new HashSet <char>(); foreach (char c in Path.GetInvalidFileNameChars()) { m_invalidPathChars.Add(c); } foreach (char c in Path.GetInvalidPathChars()) { m_invalidPathChars.Add(c); } #endregion Invalid Characters Init }
static Util() { #region memcpy Init unsafe { var dynamicMethod = new DynamicMethod ( "memcpy", typeof(void), new[] { typeof(void*), typeof(void*), typeof(uint) }, typeof(Util) ); var ilGenerator = dynamicMethod.GetILGenerator(); ilGenerator.Emit(OpCodes.Ldarg_0); // push des ilGenerator.Emit(OpCodes.Ldarg_1); // push src ilGenerator.Emit(OpCodes.Ldarg_2); // push bytes ilGenerator.Emit(OpCodes.Cpblk); // memcpy ilGenerator.Emit(OpCodes.Ret); // return m_memcpy = (MemcpyCallback)dynamicMethod.CreateDelegate(typeof(MemcpyCallback)); } #endregion memcpy Init #region Invalid Characters Init // A hashset of invalid path and filename characters m_invalidPathChars = new HashSet<char>(); foreach (char c in Path.GetInvalidFileNameChars()) m_invalidPathChars.Add(c); foreach (char c in Path.GetInvalidPathChars()) m_invalidPathChars.Add(c); #endregion Invalid Characters Init }