MimeFormatter.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // System.Web.Services.Protocols.MimeFormatter.cs
  3. //
  4. // Author:
  5. // Tim Coleman ([email protected])
  6. // Lluis Sanchez Gual ([email protected])
  7. //
  8. // Copyright (C) Tim Coleman, 2002
  9. //
  10. using System.Web.Services;
  11. namespace System.Web.Services.Protocols {
  12. public abstract class MimeFormatter {
  13. #region Constructors
  14. protected MimeFormatter ()
  15. {
  16. }
  17. #endregion // Constructors
  18. #region Methods
  19. public static MimeFormatter CreateInstance (Type type, object initializer)
  20. {
  21. MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);
  22. ob.Initialize (initializer);
  23. return ob;
  24. }
  25. public abstract object GetInitializer (LogicalMethodInfo methodInfo);
  26. public static object GetInitializer (Type type, LogicalMethodInfo methodInfo)
  27. {
  28. MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);
  29. return ob.GetInitializer (methodInfo);
  30. }
  31. public virtual object[] GetInitializers (LogicalMethodInfo[] methodInfos)
  32. {
  33. object[] initializers = new object [methodInfos.Length];
  34. for (int n=0; n<methodInfos.Length; n++)
  35. initializers [n] = GetInitializer (methodInfos[n]);
  36. return initializers;
  37. }
  38. public static object[] GetInitializers (Type type, LogicalMethodInfo[] methodInfos)
  39. {
  40. MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);
  41. return ob.GetInitializers (methodInfos);
  42. }
  43. public abstract void Initialize (object initializer);
  44. #endregion // Methods
  45. }
  46. }