开发环境Delphi XE10

 1 unit Unit1;
2
3 interface
4
5 uses
6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.RTTI, Vcl.StdCtrls;
8
9 type
10 TForm1 = class(TForm)
11 Button1: TButton;
12 procedure Button1Click(Sender: TObject);
13 private
14 { Private declarations }
15 public
16 { Public declarations }
17 end;
18 type
19 TMyAttribute = class(TCustomAttribute)
20 private
21 FValue: string;
22 public
23 constructor Create(v: string); //带RTTI信息的Attributes时,必须要实现自定义的构造器
24
25 property Value: string Read Fvalue Write FValue;
26 end;
27 //然后就可以用来注释了,简单的注释操作如下
28 [TMyAttribute('Msg')]
29 MyRec = record
30 R_str:string;
31 end;
32 var
33 Form1: TForm1;
34
35 implementation
36
37 {$R *.dfm}
38 function GetMyRecAttr: string;
39 var
40 LContext: TRttiContext;
41 LType: TRttiType;
42 LAttr: TCustomAttribute;
43 begin
44 LContext := TRTTIContext.Create; //创建上下文对象
45 LType := LContext.GetType(TypeInfo(MyRec));//获取MyRec的类型信息
46 try
47 for LAttr In LType.GetAttributes() do //遍历MyRec中的Attributes
48 if LAttr is TMyAttribute then
49 ShowMessage(TMyAttribute(LAttr).value);
50 except
51 ShowMessage('读取失败');
52 end;
53 end;
54 { TMyAttribute }
55
56 constructor TMyAttribute.Create(v: string);
57 begin
58 FValue:='AAAAAAAAAAA+'+v;
59 end;
60
61 procedure TForm1.Button1Click(Sender: TObject);
62 begin
63 GetMyRecAttr;
64 end;
65
66 end.
 1 object Form1: TForm1
2 Left = 0
3 Top = 0
4 Caption = 'Form1'
5 ClientHeight = 130
6 ClientWidth = 288
7 Color = clBtnFace
8 Font.Charset = DEFAULT_CHARSET
9 Font.Color = clWindowText
10 Font.Height = -11
11 Font.Name = 'Tahoma'
12 Font.Style = []
13 OldCreateOrder = False
14 Position = poDesktopCenter
15 PixelsPerInch = 96
16 TextHeight = 13
17 object Button1: TButton
18 Left = 96
19 Top = 48
20 Width = 75
21 Height = 25
22 Caption = 'Button1'
23 TabOrder = 0
24 OnClick = Button1Click
25 end
26 end

Delphi注解(不是注释)的更多相关文章

  1. delphi 属性 参数 新注释

    delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </ ...

  2. Spring 注解注入—@Qualifier 注释

    当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean ...

  3. Java 注释类之常用元注解

    Java 注释类之常用元注解 自定义Java注释类时,我们使用方式如下:   @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD ...

  4. [转帖]java注解与注释注解区别

    https://baijiahao.baidu.com/s?id=1615942718081024481&wfr=spider&for=pc 还需要仔细看一下书的 书里面都有. jav ...

  5. Java核心技术点之注解

    本博文是对Java中注解相关知识点的简单总结,若有叙述不清晰或是不准确的地方,希望大家可以指正,谢谢大家:) 一.什么是注解 我们大家都知道Java代码中使用注释是为了向以后阅读这份代码的人解释说明一 ...

  6. JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释

    笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...

  7. Java编程思想学习(十五) 注解

    注解Annotation又叫元数据,是JDK5中引入的一种以通用格式为程序提供配置信息的方式.使用注解Annotation可以使元数据写在程序源码中,使得代码看起来简洁,同时编译器也提供了对注解Ann ...

  8. java自定义注解注解方法、类、属性等等【转】

    http://anole1982.iteye.com/blog/1450421 http://www.open-open.com/doc/view/51fe76de67214563b20b385320 ...

  9. 【JAVAWEB学习笔记】25_基础加强:类加载器、注解 @xxx和动态代理

    基础加强 学习目标 案例-自定义单元测试@MyTest 案例-全局的编码的解决 一.类加载器 1.什么是类加载器,作用是什么? 类加载器就加载字节码文件(.class) 2.类加载器的种类 类加载器有 ...

  10. Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...

随机推荐

  1. Mosquitto安装与部署

    版本说明: Mosquitto版本:v2.0.10     libwebsockets版本:v3.0.1(用于支持websockets)     mosquitto-go-auth(Mosquitto ...

  2. db2iupgrade / db2ckupgrade failure due to SQL0551N

    db2iupgrade / db2ckupgrade failure due to SQL0551N Troubleshooting Problem db2iupgrade or db2ckupgra ...

  3. C# Visual Studio等,学习地址

    Visual Studio 2022 学习地址 Visual Studio系列学习地址 Csharp11 学习地址 Csharp 学习地址 W3School公营,推广技术,免费学习 W3CSchool ...

  4. Netty Reactor模型

    1.netty抽象出两个线程池:BossGroup负责监听和建立连接 :WorkerGroup 负责网络IO的读写 2.BossGroup 和 WorkerGroup 类型都是NioEventLoop ...

  5. 自定义类型与Qt元对象系统

    个人发现一篇关于在Qt中使用元对象系统支持自定义类型的好博文,记录下防止丢失(如有侵权,烦请告知删除).博文原地址:http://qtdebug.com/qtbook-misc-qvariant/ Q ...

  6. Comparator与Comparable实现List中某一对象属性排序

    //实体类实现 Comparable接口 进行降序排序 public class TestCompare implements Comparable<TestCompare>{ priva ...

  7. C++实现单链表相关操作

    #include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...

  8. vue 页面中切换国际语言

    1.npm i vue-i18n 2. 3.main.js 4.vue页面

  9. 【otter搭建】在Linux下搭建阿里开源otter数据同步平台

    一,准备安装包和配置文件 JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html Zookeeper:https ...

  10. 【SSO单点系列】(2):CAS4.0 之 跨域 Ajax 登录实践

    CAS4.0 之 跨域 Ajax 登录实践 一.问题描述 CAS实现单点 实现一处登录 可访问多个应用 . 但是原登录是CAS默认登录页面和登出页面是无法重定向到自定义页面的   此处使用Ajax+I ...