问题标签 [expando]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
571 浏览

ruby - 在 Ruby 中创建 Expando 对象

有没有更好的方法来编写这个 Expando 类?它的编写方式不起作用。我正在使用 Ruby 1.8.7

起始代码引用自https://gist.github.com/300462/3fdf51800768f2c7089a53726384350c890bc7c3

0 投票
1 回答
2198 浏览

unit-testing - 在 Groovy 中,什么时候使用 Expando 与 'as' 运算符和闭包比较有意义?

Groovy 是一种很棒的语言,它提供了许多不同的选择。

在考虑单元测试时,什么时候使用 Expando 对象而不是带有闭包的“as”运算符?

http://groovy.codehaus.org/Developer+Testing+using+Maps+and+Expandos+instead+of+Mockshttp://groovy.codehaus.org/Developer+Testing+using+Closures+instead+of+模拟

对于简单的情况,它们的使用似乎非常相似。

谢谢!

0 投票
1 回答
2823 浏览

c# - 如何将网格视图数据绑定到 ExpandoObject

当我尝试将 ASP.NET 数据绑定GridViewIEnumerable<ExpandoObject>usingObjectDataSource时,出现以下异常。

System.Web.HttpException (0x80004005):DataBinding:“System.Dynamic.ExpandoObject”不包含名为“StoreID”的属性。

任何人都知道我可以如何数据绑定到ExpandoObjects

0 投票
1 回答
662 浏览

python - google app engine for python中expando属性的自动索引

谷歌应用引擎 python sdk 提供了一个 Expando 类型的对象,可用于将动态属性添加到可以持久保存到数据存储区的对象中。

应用程序引擎还要求,对于需要搜索或排序对象的任何属性,必须在将应用程序上传到谷歌服务器之前创建索引。这真的很奇怪,因为这意味着我应该事先知道我的用户将在我的对象上创建哪些属性。如果我事先知道,为什么不在现有模型中将它们定义为静态属性?

有谁知道在上传到应用引擎后如何为 Expando 模型的动态属性自动创建索引?如果不是,谁能告诉我为什么 gae 吹捧 Expando 作为动态构造,因为它不能让您创建可以搜索或排序的新属性,只有不可搜索或排序的属性。

0 投票
1 回答
957 浏览

spring - 使用 groovy 实现 AOP 以对 Grails 应用程序进行性能分析(动态编织,如在 AspectJ 中)

我需要为 Groovy 应用程序上的一堆 Grails 收集性能指标。我正在考虑根据网络上的一些例子来做这件事(参见http://www.infoq.com/articles/aop-with-groovy)。我想我已经完成了跨方法和闭包边界收集性能数据的工作。

我不知道的一个好主意是如何将我的性能统计信息捆绑在一起以保持它们的粒度如何能够在加载时使用 Groovy/Grails 编织建议,而不是在运行前检测代码时间

非常欢迎任何(和每一个)帮助!

谢谢

0 投票
1 回答
1956 浏览

javascript - 如何将 expando 属性添加到用户控件?

我正在现有的 ASP.NET 用户控件中构建一些自定义 javascript 功能。用户控件需要知道它嵌套的控件的属性。所以,我最终选择使用 expando 属性而不是像这样的全局 javascript 变量:

然而,虽然expando 被正确地输出到客户端,但用户控件本身在HTML 中并没有对应的元素。因此,由 ASP.NET 自动生成的以下 JavaScript 会出现“object is null”错误:

我做了一些调查,发现这个页面表明实现 IWebPart 接口可能会做到这一点,但我尝试了没有运气。

有没有办法让用户控件像服务器控件一样输出标签?或者是将整个事物转换为服务器控件的唯一选择(在这种情况下与网站设计的纹理背道而驰)?

如果有人有任何其他想法,我愿意接受其他关于在用户控件中声明共享 JavaScript 属性的建议。

0 投票
1 回答
4281 浏览

.net - 是否可以将属性添加到 ExpandoObject 实例的生成成员?

我正在尝试使用 ExpandoObject 作为 PropertyGrid 的 SelectedObject。我知道如何将我想要的属性添加到 ExpandoObject:

此代码工作正常 - 调试器expando按预期显示 ' 属性的名称和值。

但是,当我将返回值设置MakePropertyObject()为其属性时,PropertyGrid 中没有显示任何生成的SelectedObject属性。我假设(可能是错误的)这是因为ExpandoObject的属性没有任何DisplayNameAttribute,DescriptionAttribute或任何其他用于控制属性在PropertyGrid.

我做了一些阅读和一些谷歌搜索,我不知道是否有办法ExpandoObject用自定义属性装饰生成的属性。有谁知道如何做到这一点,或者有更好的方式来显示ExpandoObjecta PropertyGrid

解决方案:

@Stephen Cleary 提供的答案是正确且有帮助的(感谢 Stephen)。对于其他有同样问题的人,实施ICustomTypeDescriptor对我来说非常有效。

作为旁注,实现的对象ICustomTypeDescriptor为自己提供属性和事件描述符,而不是为另一个对象提供。我认为描述符和所描述的内容最初应该通过属性或其他东西链接 - 对象应该描述自己的类型对我来说似乎令人困惑和多余,但这确实是PropertyGrids 使用ICustomTypeDescriptor接口的方式。

0 投票
1 回答
350 浏览

python - 在 Python for App Engine 中克隆和 Expando 类对象

在 Google App Engine 上使用 Python 时,克隆(复制)Expando 类对象的好方法是什么?

我在这里遇到了一些代码,但除非我弄错了,否则它不适用于 expando 属性:Copy an entity in Google App Engine datastore in Python without known property names at 'compile' time

谢谢!

0 投票
1 回答
1234 浏览

java - Groovy Expando 可序列化

有没有办法序列化可以通过动态添加的属性检索的扩展子类。举个例子;

我得到输出:

我还尝试了与 Sexpando 对象的原始testProp字段相同的示例(上面已注释掉)

可以从这里检查 Groovy 的原始 Expando.java

谢谢你的任何建议!

0 投票
5 回答
2784 浏览

python - App Engine 实体到字典

将谷歌应用引擎实体(在 python 中)复制到字典对象的好方法是什么?我正在使用 db.Expando 对象。所有属性都是扩展属性。

谢谢!