fork download
  1. using System;
  2. using System.Reflection;
  3.  
  4. namespace Tmp
  5. {
  6. public class Packer
  7. {
  8. public Packer()
  9. {
  10. }
  11.  
  12. public void PackUInt16(ushort value)
  13. {
  14. }
  15.  
  16. public void PackInt16(short value)
  17. {
  18. //value.GetType();
  19. Console.WriteLine("value({0}) < -0x80 => {1}", value, value < -0x80);
  20. Console.WriteLine("value({0}) < -0x20 => {1}", value, value < -0x20);
  21. Console.WriteLine("value({0}) < 0x80 => {1}", value, value < 0x80);
  22. Console.WriteLine("value({0}) < 0x100 => {1}", value, value < 0x100);
  23. }
  24.  
  25. public void PackObject<T>(T obj)
  26. {
  27. Type this_type = this.GetType();
  28. string obj_type_name = obj.GetType().ToString();
  29. string method_name = "Pack" + obj_type_name.Substring(obj_type_name.LastIndexOf(".") + 1);
  30. //Console.WriteLine(method_name);
  31. MethodInfo mi = this_type.GetMethod(method_name);
  32. mi.Invoke(this, new object[] { obj });
  33. }
  34.  
  35. public static void Main()
  36. {
  37. Packer packer = new Packer();
  38. packer.PackObject((ushort)0);
  39. packer.PackObject((short)-1);
  40. }
  41. }
  42. }
Success #stdin #stdout 0.06s 34128KB
stdin
Standard input is empty
stdout
value(-1) <  -0x80 => False
value(-1) <  -0x20 => False
value(-1) <   0x80 => False
value(-1) <  0x100 => False