开发环境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. php7安装mogodb

    本文教程只在 PHP7 安装使用!!! PHP7 Mongdb 扩展安装 我们使用 pecl 命令来安装: $ /usr/local/php7/bin/pecl install mongodb 执行成 ...

  2. tomcat 2 - 默认连接器精简版

    tomcat 将一个包中所有类使用的错误信息存储在 properties 文件中,每个包有一个  properties 文件.每个 properties 文件都是用 org.apache.catali ...

  3. MVC对session或cookie保存的值在js中做处理

    在cshtml中保存数据 eg: @Html.Hidden("sessionUserName", Session["userName"]) @Html.Hidd ...

  4. MySQL 常用命令(1)------连接、添加用户与授权

    一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL 进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码 ...

  5. nginx增加自定义账号鉴权

    nginx增加自定义账号鉴权 使用nginx反向代理实现 当一个站点内部程序是个黑盒(无法修改里面的请求逻辑),如何增加自己的账号系统鉴权 实现逻辑 使用nginx的反向代理功能 自定义账号系统增加两 ...

  6. 047_SOQL 基本查询总结

    User currentUser = [SELECT Id, Profile.Name,UserRole.Name FROM User WHERE Id = :UserInfo.getUserId() ...

  7. Win10服务主机本地系统磁盘占用过高解决

    前言:发现电脑卡,磁盘被本地系统占用好多.把尝试过的方法都发一下. 1.尝试用了网上的关闭家庭组: win+R打开运行输入:services.msc  打开Windows服务管理器.找到HomeGro ...

  8. vue解决点击事件冒泡 .stop

    vue解决点击事件冒泡  .stop <div @click="toCourse()" > <van-button type="primary" ...

  9. [OC] APP唤醒,URL Scheme,工程中的 URL Types 和 LSApplicationQueriesSchemes

    1.网页唤醒APP: 假设我们有一个APP,名字叫做 "APP甲",需要通过网页唤起 APP甲,我们首先需要在 APP甲的工程文件里配置参数 URL Types: 在 info.p ...

  10. 【2020NIO.AC省选模拟#10】C. 寄蒜几盒

    题目链接 原题解: 可以发现,假设我们把凸多边形看做障碍,一个点没有被染色当且仅当在它的位置上能看到凸多边形任意两条相对的边中的一条(也就是能看到至少$\dfrac{n}{2}$条边). 对于每个询问 ...