Delphi注解(不是注释)
开发环境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注解(不是注释)的更多相关文章
- delphi 属性 参数 新注释
delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </ ...
- Spring 注解注入—@Qualifier 注释
当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean ...
- Java 注释类之常用元注解
Java 注释类之常用元注解 自定义Java注释类时,我们使用方式如下: @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD ...
- [转帖]java注解与注释注解区别
https://baijiahao.baidu.com/s?id=1615942718081024481&wfr=spider&for=pc 还需要仔细看一下书的 书里面都有. jav ...
- Java核心技术点之注解
本博文是对Java中注解相关知识点的简单总结,若有叙述不清晰或是不准确的地方,希望大家可以指正,谢谢大家:) 一.什么是注解 我们大家都知道Java代码中使用注释是为了向以后阅读这份代码的人解释说明一 ...
- JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释
笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...
- Java编程思想学习(十五) 注解
注解Annotation又叫元数据,是JDK5中引入的一种以通用格式为程序提供配置信息的方式.使用注解Annotation可以使元数据写在程序源码中,使得代码看起来简洁,同时编译器也提供了对注解Ann ...
- java自定义注解注解方法、类、属性等等【转】
http://anole1982.iteye.com/blog/1450421 http://www.open-open.com/doc/view/51fe76de67214563b20b385320 ...
- 【JAVAWEB学习笔记】25_基础加强:类加载器、注解 @xxx和动态代理
基础加强 学习目标 案例-自定义单元测试@MyTest 案例-全局的编码的解决 一.类加载器 1.什么是类加载器,作用是什么? 类加载器就加载字节码文件(.class) 2.类加载器的种类 类加载器有 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...
随机推荐
- Redis 突然变慢了如何排查并解决?
业务场景 某购物平台打算举行"双十一"大型购物狂欢活动,到了半夜12点用户数量暴增,出现了一个技术故障,用户发现自己无法下单!!! 技术组立即组织人手进行故障排查,结论是 Redi ...
- Hyperledger fabric 2.2.0 环境搭建
基础环境搭建 ### docker 安装 如果服务器上有旧版的docker,需要先执行卸载操作. $ sudo yum remove docker \ docker-common \ docker-s ...
- 【翻译】了解Flink-对DataStream API的介绍 -- Learn Flink-Intro to the DataStream API
目录 流式可以传输什么? Java元组和POJO 元组 POJO Scala元组和case classes 一个完整的例子 流执行环境 基本的stream sources 基本的stream sink ...
- Finance财务软件(支持多账套专题)
在2.0.0.7版本中新增了账套管理的UI控制 在2.0.0.5版本中支持多账套 客户端登录的时候可以选择登录账套 在服务端Finance.exe进程所在目录新增进程FinanceConsole.ex ...
- 08 安装虚拟机:Windows 10
08 安装虚拟机:Windows 10 在安装虚拟机之前,总是要有安装来源媒体(例如:ISO映像之类),方可顺利进行.在Proxmox VE中有几种将ISO档置入Proxmox VE的方式,本节介绍其 ...
- C语言-Windows定时关机小程序
整理文件发现以前写的定时关机小程序(Windows下) 1-效果 2-程序 #include <stdio.h> #include <stdlib.h> #include &l ...
- HTML弹出对话框功能大全
注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javascript>window.close();& ...
- uniapp 通用函数说明
onLoad函数 监听页面加载,在onLoad中发送请求是比较合适的,即页面一加载就发送请求获取数据,option接受其他界面传过来的数据,数据类型为obj onLoad(option) { ...
- ORACLE监听无法启动的几个原因
1./etc/hosts中配置问题 误删了127.0.0.1的默认记录 2./var/tmp/.oracle的权限问题 TNS-12546:TNS:permission denied TNS-1256 ...
- 大数据分析——matplotlib
参考链接:https://blog.csdn.net/xavier_muse/article/details/83859272 fig,ax = plt.subplots()等价于: fig = pl ...