System.Rtti.TRttiObject.GetAttributes 简例
MAttribute = class(TCustomAttribute)
private
FName: string;
public
constructor Create(AName: string);
end;
TMyClass = class
private
FProp2: Integer;
FProp1: string;
procedure SetProp1(const Value: string);
procedure SetProp2(const Value: Integer);
public
procedure Methd1(const A,B: string);
function Func1: Boolean;
published
[M('Prop1')]
property Prop1: string read FProp1 write SetProp1;
[M('Prop2')]
property Prop2: Integer read FProp2 write SetProp2;
end; procedure TForm1.btn1Click(Sender: TObject);
var
c: TRttiContext;
t: TRttiType;
ms: TArray<TRttiMethod>;
ps: TArray<TRttiProperty>;
fs: TArray<TRttiField>;
ats: TArray<TCustomAttribute>;
a : TCustomAttribute;
m: TRttiMethod;
p: TRttiProperty;
f: TRttiField;
begin
c := TRttiContext.Create;
t := c.GetType(TMyClass);
ms := t.GetMethods;
ps := t.GetProperties;
fs := t.GetFields;
ats := t.GetAttributes; for p in ps do
begin
for a in p.GetAttributes do
begin
if a is MAttribute then
begin
mmo1.Lines.Add(p.Name + ':' + MAttribute(a).FName);
end;
end;
end; mmo1.Lines.Add('-------------Methods-----------');
for m in ms do
mmo1.Lines.Add(m.Name);
mmo1.Lines.Add('------------Properties---------');
for p in ps do
mmo1.Lines.Add(p.Name);
mmo1.Lines.Add('--------------Fields-----------');
for f in fs do
mmo1.Lines.Add(f.Name); end;
System.Rtti.TRttiObject.GetAttributes 简例的更多相关文章
- linux下C语言socket网络编程简例
原创文章,转载请注明转载字样和出处,谢谢! 这里给出在linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到client的连接后,发送数据给client:clie ...
- system函数的应用一例
system函数的应用一例
- 5.3linux下C语言socket网络编程简例
原创文章,转载请注明转载字样和出处,谢谢! 这里给出在Linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到客户端的连接后,发送数据给客户端:客户端在接受到数据后 ...
- List元素排序简例
前言:这种处理方式,在程序中偶尔会用的到,栗子很简单,关键是加强一下记忆,以及以备后用 1:实现Comparable接口的方式 1-1:没有使用泛型,重写compareTo()方法时需要判断类型及转换 ...
- java_jdbc_spring框架查询操作简例
1.添加commons-dbcp-1.4,commons-logging,commons-pool-1.2//线程池,commons.collections-3.2.1.jar,spring.jar ...
- web Service试用简例
1.打开文件,选择新建Asp.Net web服务. 2.出现新建页面如下. using System; using System.Collections.Generic; using System.L ...
- Dapper试用简例
1.选择3.5以上框架在新建项目中引用Dapper.dll. 2.在后台写代码,代码写出来后感觉以前学的都白学了. 3. using Dapper; using System; using Syste ...
- jvm内存增长问题排查简例
jvm内存增长问题排查 排查个jvm 内存占用持续增加的问题,纪录一下,引以为戒. 运维发现应用jvm内存占用在发布后回落,然后持续增高,,dump后分析一下: 占内存的大部分是这种名字相似的bean ...
- urllib 和urllib2 模块使用简例
一.最简单的使用 import urllib,urllib2 response = urllib2.urlopen("https://www.baidu.com") print r ...
随机推荐
- 腾讯大讲堂ppt全集
腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载 最新最全的腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载地址 http:// ...
- PCL—综述—三维图像处理
点云模型与三维信息 三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据.和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体-背景解耦.除此之外,对于视觉测量来说,物体的 ...
- KMP入门题目[不定期更新]
HDU 1711 Number Sequence(模板题) #include <cstdio> ; ; int N, M; int textS[MAXN]; int tarS[MAXL]; ...
- .net 程序员成长路线图?
https://www.zhihu.com/question/25474641 得看赵四本, @赵劼 推荐的. CLR via C# .net Essentials C# in Depth Frame ...
- Event-based Asynchronous Pattern Overview基于事件的异步模式概览
https://msdn.microsoft.com/zh-cn/library/wewwczdw(v=vs.110).aspx Applications that perform many task ...
- sed替换单引号
echo "Cfoo'barxml" | sed "s/'/::/g" | sed 's/::/\\:/g' | sed "s/:/'/g&quo ...
- UWP:本地应用数据
获取应用的设置和文件容器 使用 ApplicationData.LocalSettings 属性可以获取 ApplicationDataContainer 对象中的设置. 注意:每个设置的名称最长可为 ...
- LA 3263 (平面图的欧拉定理) That Nice Euler Circuit
题意: 平面上有n个端点的一笔画,最后一个端点与第一个端点重合,即所给图案是闭合曲线.求这些线段将平面分成多少部分. 分析: 平面图中欧拉定理:设平面的顶点数.边数和面数分别为V.E和F.则 V+F- ...
- hdu 4619 Warm up 2(并查集)
借用题解上的话,就是乱搞题.. 题意理解错了,其实是坐标系画错了,人家个坐标系,我给当矩阵画,真好反了.对于题目描述和数据不符的问题,果断相信数据了(这是有前车之鉴的hdu 4612 Warm up, ...
- OK335xS PMIC(TPS65910A3A1RSL) reset
/*********************************************************************** * OK335xS PMIC(TPS65910A3A1 ...