跨系统缓存-以编程方式创建新类

姆法佐卡

是否可以编写ObjectScript方法,该方法将在命名空间中创建新类并进行编译?我的意思是以编程方式创建新类并存储它。如果是这样,我可以稍后使用ObjectScript编辑此类(然后重新编译)吗?

原因:我在字符串变量中定义了类结构,因此需要根据该字符串向名称空间添加新类。

达摩

没有什么是不可能的。Caché中的所有内容均可通过编程方式创建。而且,类不是执行。至少有两种方法可以做到这一点:

  • 简单的SQL查询CREATE TABLE,将创建一个类。
  • 就像您已经提到的ObjectScript代码一样,它可以做到这一点。

所有定义都在其他类中定义的所有类。您可以在软件包%Dictionary中找到该文件。
类本身在%Dictionary中定义。ClassDefinition其中具有一些属性,用于定义类的任何部分。因此,这是一个简单的代码,它创建了一个具有一个属性的类。

set clsDef=##class(%Dictionary.ClassDefinition).%New()
set clsDef.Name="package.classname"
set clsDef.Super="%Persistent"

set propDef=##class(%Dictionary.PropertyDefinition).%New()
set propDef.Name="SomeProperty"
set propDef.Type="%String"

do clsDef.Properties.Insert(propDef)

do clsDef.%Save()

在最新版本中,还有另一种创建/更改类的方法。如果您有课上课文,可以在Studio中看到。然后,可以使用%Compiler.UDL.TextServices类将其加载到Caché中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

跨系统缓存-以编程方式创建新类

来自分类Dev

创建tar填充系统缓存

来自分类Dev

创建 tar 填充系统缓存

来自分类Dev

烧杯:如何访问装饰器以编程方式创建的缓存?

来自分类Dev

在simulink中,以编程方式创建变体子系统

来自分类Dev

以编程方式删除Java缓存

来自分类Dev

如何在键入时为实时搜索创建缓存系统

来自分类Dev

样式化以编程方式创建的类的CSS

来自分类Dev

以编程方式创建包含方法的相似类

来自分类Dev

在Woocommerce中以编程方式创建新订单

来自分类Dev

Surveymonkey以编程方式创建新调查?

来自分类Dev

使用purrr以编程方式创建新变量?

来自分类Dev

以编程方式创建新的UI元素

来自分类Dev

以编程方式清除android App中的缓存

来自分类Dev

以编程方式清除Phonegap的InAppBrowser缓存

来自分类Dev

Sitecore-以编程方式清除用户的缓存

来自分类Dev

以编程方式清除symfony 2上的缓存

来自分类Dev

以编程方式清除symfony 2上的缓存

来自分类Dev

以编程方式清除Phonegap的InAppBrowser缓存

来自分类Dev

Android以编程方式删除旧的缓存数据

来自分类Dev

以编程方式禁用某些资源的缓存

来自分类Dev

以编程方式在新选项卡中创建新的QTextEdit

来自分类Dev

在本地PC上创建git repo,然后在linux中跨本地文件系统克隆repo

来自分类Dev

如何有效创建跨平台的1000多个条目数据库系统?

来自分类Dev

如何以编程方式选择系统字体?

来自分类Dev

以编程方式获取命名管道的系统名称

来自分类Dev

Android以编程方式获取系统图标

来自分类Dev

以编程方式禁用快速启动(系统设置)

来自分类Dev

从Mac以编程方式浏览iOS文件系统

Related 相关文章

热门标签

归档