X#(XSharp) 中的自定义类(1)
X#(XSharp) 中的自定义类(1)
可能很多熟悉 .ET 的会笑我自不量力,但是,作为具有 VFP 技术背景的程序员,在使用 X# 时,自然而然的就会遇到同样的问题。
在 VFP 中,一个合格的程序员,绝大多数情况下是不会直接使用 VFP 的基类。我想,.ET 程序员在这一点上应该和 VFP 程序员差不多。因此,我在 VFP 中创建了一个类创建生成器。但是 VS IDE 和 VFP IDE 有很大的不同。至少,我还没有到在 VS IDE 中直接运行 prg 的方法,也许,根本就没有......
因此,我不得不在 VS IDE 中重新书写一套可用于 X# 的自定义基类。当然,它继承自 .ET Framework 中的类。尽管 X# 开发组创建了一套兼容 VFP 的类,但是,如果我等待它成长为”完美无缺“的可用程序集,那我真的太天真了......
在 VFP 中创建自定义类是一个简单的技术过程。但是,简单也意味着有很多遗憾。
- 类/自定义属性/自定义方法的说明,现实角度,有字符长度的限制。并不是说你不能用”超长“的字符来描述,而是,在 VFP IDE 中显示描述的区域”容纳“不了。因为这些“区域”几乎是不可调整大小的。
- 类库/类的详细说明文档的欠缺。尽管有第三方工具可以将代码中的描述转换为文档说明,但是,国内的Foxer 大多数对其都不关心,因此,几乎所有的国内第三方(包括开发者自己创建的)类库/类都缺乏完整的文档。
- 自定义属性在IDE属性窗口中的显示/交互赋值方式。尽管这与实际的程序运行看上去毫不相干,但是,没有一个应用程序吹口气就能让PC自动完成编码。因此,我在自己的技术能力范围内尽可能的使其更易用从而提高生产力。但是,限于VFP语言的局限性,我只能说我已经尽力了
在使用 X# 时,这些遗憾轻而易举的就解决了。
受益于多年前的一点点努力,我至少理解了 .ET 语言的文档注释()。在 VS IDE 中启用了 Github Copilot 之后,这一过程就变得非常容易了。借助 Sandcastle Help File Builder,非常容易地就能获得我心目中完美的技术说明文档。
首先,我们来看看自定义属性。
在VFP中,所有自定义类都自然的显示在属性窗口中;而 .ET 语言存在一个概念:特性(Attributes)。尽管我现在还无法完全理解它,但是,我现在只要知道如何使用就OK了。
通过查看 X# 的帮助文档,我“发现”了它在定义属性时的作用。
你想在属性窗口中对自定义属性分组显示吗?
代码语言:javascript代码运行次数:0运行复制[Category("User")];
怎么添加属性说明呢?
代码语言:javascript代码运行次数:0运行复制[Description("属性说明文本。")];
你是否在属性窗口中不想显示某些属性呢?
代码语言:javascript代码运行次数:0运行复制[Browsable(.f.)];
你是否想在属性窗口中使某些属性是真的“只读”呢?
代码语言:javascript代码运行次数:0运行复制[ReadOnly(.t.)];
你是否想在属性窗口中像固有属性那样重置默认值呢?
代码语言:javascript代码运行次数:0运行复制[DefaultValue("默认值")];
由此,我们很容易在 VS IDE 的属性窗口中,完全按照自己的意愿来显示自定义属性。
未完待续......
Follow me,延续自己的技术生命!
本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2025-01-10,如有侵权请联系 cloudcommunity@tencent 删除开发开发者程序员工具继承#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 16 条评论) |
本站网友 qq流 | 19分钟前 发表 |
我还没有到在 VS IDE 中直接运行 prg 的方法 | |
本站网友 法国城市 | 14分钟前 发表 |
几乎所有的国内第三方(包括开发者自己创建的)类库/类都缺乏完整的文档 | |
本站网友 汉京山 | 2分钟前 发表 |
类库/类的详细说明文档的欠缺 | |
本站网友 前山租房 | 18分钟前 发表 |
它继承自 .ET Framework 中的类 | |
本站网友 深圳福满园大酒楼 | 1分钟前 发表 |
但是 | |
本站网友 黄金走势预测 | 15分钟前 发表 |
我不得不在 VS IDE 中重新书写一套可用于 X# 的自定义基类 | |
本站网友 济南武警医院 | 9分钟前 发表 |
国内的Foxer 大多数对其都不关心 | |
本站网友 俩男一马 | 6分钟前 发表 |
一个合格的程序员 | |
本站网友 上海九院种植牙 | 6分钟前 发表 |
首先 | |
本站网友 小心 | 29分钟前 发表 |
因此 | |
本站网友 绿茶功效 | 4分钟前 发表 |
延续自己的技术生命!本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 客座三千人 | 14分钟前 发表 |
但是 | |
本站网友 阿沁 | 24分钟前 发表 |
在 VS IDE 中启用了 Github Copilot 之后 | |
本站网友 奥拓电子招聘 | 2分钟前 发表 |
因此 | |
本站网友 金马小区 | 9分钟前 发表 |
我在自己的技术能力范围内尽可能的使其更易用从而提高生产力 |