Extensions.Net35.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Reflection;
  6. using System.Globalization;
  7. namespace SuperSocket.SocketEngine
  8. {
  9. /// <summary>
  10. /// Extensions for .Net 3.5
  11. /// </summary>
  12. public static class Extensions
  13. {
  14. /// <summary>
  15. /// Creates a new instance of the specified type defined in the specified assembly file.
  16. /// </summary>
  17. /// <param name="appDomain">The app domain.</param>
  18. /// <param name="assemblyFile">The assembly file.</param>
  19. /// <param name="typeName">Name of the type.</param>
  20. /// <param name="ignoreCase">if set to <c>true</c> [ignore case].</param>
  21. /// <param name="bindingAttr">The binding attr.</param>
  22. /// <param name="binder">The binder.</param>
  23. /// <param name="args">The args.</param>
  24. /// <param name="culture">The culture.</param>
  25. /// <param name="activationAttributes">The activation attributes.</param>
  26. /// <returns></returns>
  27. public static object CreateInstanceAndUnwrap(this AppDomain appDomain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
  28. {
  29. return appDomain.CreateInstanceAndUnwrap(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, AppDomain.CurrentDomain.Evidence);
  30. }
  31. /// <summary>
  32. /// Creates the instance from.
  33. /// </summary>
  34. /// <param name="appDomain">The app domain.</param>
  35. /// <param name="assemblyFile">The assembly file.</param>
  36. /// <param name="typeName">Name of the type.</param>
  37. /// <param name="ignoreCase">if set to <c>true</c> [ignore case].</param>
  38. /// <param name="bindingAttr">The binding attr.</param>
  39. /// <param name="binder">The binder.</param>
  40. /// <param name="args">The args.</param>
  41. /// <param name="culture">The culture.</param>
  42. /// <param name="activationAttributes">The activation attributes.</param>
  43. /// <returns></returns>
  44. public static object CreateInstanceFrom(this AppDomain appDomain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
  45. {
  46. return appDomain.CreateInstanceFrom(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, AppDomain.CurrentDomain.Evidence);
  47. }
  48. }
  49. }