ChannelCore.cs 892 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // System.Runtime.Remoting.Channels.ChannelCore.cs
  3. //
  4. // Author: Lluis Sanchez Gual ([email protected])
  5. //
  6. // 2003 (C) Copyright, Novell, Inc.
  7. //
  8. using System;
  9. using System.Reflection;
  10. using System.Runtime.Serialization;
  11. namespace System.Runtime.Remoting.Channels
  12. {
  13. internal class ChannelCore
  14. {
  15. public static SerializationBinder SimpleBinder = new SimpleBinder();
  16. }
  17. internal class SimpleBinder: SerializationBinder
  18. {
  19. public override Type BindToType (String assemblyName, string typeName)
  20. {
  21. Assembly asm;
  22. if (assemblyName.IndexOf (',') != -1)
  23. {
  24. // Try using the full name
  25. try
  26. {
  27. asm = Assembly.Load (assemblyName);
  28. Type t = asm.GetType (typeName);
  29. if (t != null) return t;
  30. }
  31. catch {}
  32. }
  33. // Try using the simple name
  34. asm = Assembly.LoadWithPartialName (assemblyName);
  35. return asm.GetType (typeName, true);
  36. }
  37. }
  38. }