private MethodAttributes QueryPropertyAccessRights(TypeBuilder parentNS) { if (alwaysInstanceMethod) { return(CodeGenerationUtils.PublicGetter()); } return(parentNS == rootType?CodeGenerationUtils.StaticPublicGetter() : CodeGenerationUtils.PublicGetter()); }
private static void AddLabelProperty(TypeBuilder typeBuilder, string propertyName, string valueToReturn) { var property = CodeGenerationUtils.DefineProperty(typeBuilder, propertyName, typeof(string)); var methodBuilder = CodeGenerationUtils.GetterMethodFor(typeBuilder, property, CodeGenerationUtils.PublicGetter()); var ilCode = methodBuilder.GetILGenerator(); ilCode.Emit(OpCodes.Ldstr, valueToReturn); ilCode.Emit(OpCodes.Ret); }