/Mono.Cecil/ParameterReference.cs

http://github.com/jbevain/cecil · C# · 57 lines · 36 code · 12 blank · 9 comment · 2 complexity · 8c435239b123269a8e14eb8dc712ff95 MD5 · raw file

  1. //
  2. // Author:
  3. // Jb Evain (jbevain@gmail.com)
  4. //
  5. // Copyright (c) 2008 - 2015 Jb Evain
  6. // Copyright (c) 2008 - 2011 Novell, Inc.
  7. //
  8. // Licensed under the MIT/X11 license.
  9. //
  10. using System;
  11. namespace Mono.Cecil {
  12. public abstract class ParameterReference : IMetadataTokenProvider {
  13. string name;
  14. internal int index = -1;
  15. protected TypeReference parameter_type;
  16. internal MetadataToken token;
  17. public string Name {
  18. get { return name; }
  19. set { name = value; }
  20. }
  21. public int Index {
  22. get { return index; }
  23. }
  24. public TypeReference ParameterType {
  25. get { return parameter_type; }
  26. set { parameter_type = value; }
  27. }
  28. public MetadataToken MetadataToken {
  29. get { return token; }
  30. set { token = value; }
  31. }
  32. internal ParameterReference (string name, TypeReference parameterType)
  33. {
  34. if (parameterType == null)
  35. throw new ArgumentNullException ("parameterType");
  36. this.name = name ?? string.Empty;
  37. this.parameter_type = parameterType;
  38. }
  39. public override string ToString ()
  40. {
  41. return name;
  42. }
  43. public abstract ParameterDefinition Resolve ();
  44. }
  45. }