- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以编写 ObjectScript 方法,该方法将在命名空间中创建新类并编译它?我的意思是以编程方式创建新类并存储它。如果是这样,我可以稍后使用 ObjectScript 编辑此类(并重新编译)吗?
原因:我在字符串变量中定义了类结构,我需要根据此字符串将新类添加到命名空间。
最佳答案
没有什么是不可能的。 Caché 中的所有内容都可以通过编程方式创建。并且,类不是执行。至少有两种方法可以做到这一点:
在其他类中定义的任何类的所有定义。您可以在包 %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 中看到它。然后,您可以将其加载到 Caché 中,类为 %Compiler.UDL.TextServices
关于intersystems-cache - Intersystems caché - 以编程方式创建新类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28607416/
是否可以编写 ObjectScript 方法,该方法将在命名空间中创建新类并编译它?我的意思是以编程方式创建新类并存储它。如果是这样,我可以稍后使用 ObjectScript 编辑此类(并重新编译)吗
在终端中,我使用 zw ^MYGLOBAL 打印全局值。如何将此输出保存到文本文件? 最佳答案 快速讨厌的方式: s f="c:\file.txt" o f:"wns" u f zw ^MYGLOBA
我注意到,虽然我可以使用 %dictionary.compiledclass 来获取包含架构名称和表名称的表,这允许查询它们的存在,但我不能对列执行相同的操作。我还没有找到允许验证列是否存在或使用 L
发送命令的字符限制(字符数)是多少?如何更改它? 如果我运行一个长命令,它不会完全发送,并且“S”会附加到字符串的末尾(并且字符串被切断)那么有没有办法改变/查看我们可以发送多少个字符? 脚本: se
我曾经为此查看 %G 的来源,但最近 Intersystems 已停止分发 .INT 代码。我想理论上我可以在循环中使用 eXecute 语句来检查每个合法全局名称上的 $D ,但这很愚蠢且不合理地慢
在C#中,我可以执行以下操作: object foo = null; 如何在对象脚本中执行此操作? 最佳答案 对于简单变量,无法将变量设置为具有未定义的值。由于“缓存对象脚本”具有松散的类型,因此无需
我有一个对象,其属性具有唯一值。这可能不是一个很好的理由,但这个属性不是我的 ID,因为它是一个列表,并且显示值由非打印字符组成。 我想检查是否存在具有此属性的特定值的对象。到目前为止,我想到的选项是
我有一个需要运行的查询,它为每个客户端返回最近更新的行。 在 SQL Server 中,我会执行以下操作: SELECT * FROM ( SELECT *, ROW_NUMBER() OVE
查看文档我没有看到 GUID 数据类型。是否有生成随机 GUID 的函数或其他东西?它是什么? 最佳答案 $System.Util.CreateGUID() 但是,这不会返回数据类型,它只是一个字符串
我有一个具有多个计算属性的类。我想将这些属性添加到投影的 sql 表中,以便我可以查询它们。但是,我注意到默认情况下计算属性不会投影到 sql 表中。要让它们投影到sql表中,必须在指定数据类型后在括
仅使用 Cache 终端,我使用或查看什么实用程序函数或 Global 来查找存在于 Cache 数据库中的所有 Globals 的列表? 再次仅在缓存终端中使用,我使用或查看什么实用程序功能或全局以
我需要从缓存数据库中读取数据,在此之前我想查看数据库模型(表或类列表等)。我使用了管理工具,但我找不到表列表。如何我们使用管理工具找出数据库模型? 非常感谢您的帮助。 谢谢, 最佳答案 一个缓存实例将
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
寻找创建将启用/配置snmp和相关设置的脚本。 通过门户网站,它将放置在: [主页]> [安全管理]> [服务]> Service_Monitor 希望能够启用,添加允许的IP地址等。 谢谢。 最佳答
如果有某种调试 API 允许某人编写自己的代码覆盖率分析工具,那也是可以接受的。我不认为这是一个投票问题,因为此类工具的详尽列表可能非常小。 最佳答案 没有现成的覆盖工具 (afaik)。但是,您可以
我有一个基于 Intersystems Caché 数据库的产品,我看不到类、模式、表,只有全局变量。有没有什么聪明的方法可以从这些全局变量中导出数据并获得“人类可读的结构”? 最佳答案 第一个问题是
一切都在主题中,真的。 我看不出 x 的这两种方法在行为上有什么区别: // first version Method m(ByRef x As whatever) { // play wit
我需要在 Caché 中获取命名空间、数据库和表的列表,以便我可以遍历每个并查询各种内容(例如行数)。 我见过this ,但它只列出 %SYS 命名空间内的数据库。 我知道我可以使用 LIST^%NS
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想知道有没有"mid" Intersystems Caché 数据库上的功能。我试图用它来解决这里的一个问题,我需要从第 8 个字符读取任意大小的字符串,但我收到以下错误: Error: G
我是一名优秀的程序员,十分优秀!