30 readonly Type declaringType;
31 readonly FieldInfo field;
40 this.declaringType = declaringType;
44 public override bool Equals(
object obj)
47 return other !=
null && other.declaringType.Equals(declaringType) && other.field.Equals(field);
52 return declaringType.GetHashCode() * 3 ^ field.GetHashCode();
57 get {
return field.Attributes; }
60 public override string Name
62 get {
return field.Name; }
67 get {
return declaringType; }
70 public override Module Module
72 get {
return declaringType.Module; }
77 get {
return field.MetadataToken; }
82 return field.GetRawConstantValue();
87 return field.__TryGetFieldOffset(out offset);
97 get {
return field.FieldSignature.ExpandTypeParameters(declaringType); }
100 internal override int ImportTo(Emit.ModuleBuilder module)
102 return module.ImportMethodOrField(declaringType, field.Name, field.FieldSignature);
107 return new GenericFieldInstance(declaringType.BindTypeParameters(type), field);
110 internal override int GetCurrentToken()
112 return field.GetCurrentToken();
115 internal override bool IsBaked
117 get {
return field.IsBaked; }