public EmittedMethod AddGetter()
 {
     if (_getter != null) throw new InvalidOperationException("Getter already assigned");
     _getter = this.TargetClass.DefineMethod(String.Format("get_{0}", this.Name));
     if (IsStatic) _getter.IncludeAttributes(MethodAttributes.Static);
     _getter.IncludeAttributes(MethodAttributes.Public | MethodAttributes.Virtual | MethodAttributes.HideBySig | MethodAttributes.SpecialName | MethodAttributes.Final | MethodAttributes.NewSlot);
     _getter.ReturnType = this.PropertyType;
     return _getter;
 }