- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
需要说明的是,继承 DynamicObject(当然在 C# 中)的类与 JavaScript 的动态变量不是同一个概念。 DynamicObject 允许实现者以编程方式确定对象具有哪些成员,包括方法。
编辑:我知道 JavaScript 对象可以在运行时添加任何成员。这根本不是我要说的。下面是一个 C# 示例,展示了 DynamicObject 的作用:
public class SampleObject : DynamicObject
{
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
result = binder.Name;
return true;
}
}
dynamic obj = new SampleObject();
Console.WriteLine(obj.SampleProperty);
//Prints "SampleProperty".
当访问 obj 的成员时,它使用 TryGetMember 以编程方式确定该成员是否存在以及它的值是什么。简而言之,成员的存在是在请求时确定的,而不是通过事先添加它来确定的。我希望这能稍微澄清这个问题。如果您想知道,我正在尝试确定是否有可能在 JavaScript 中创建一个对象,当函数调用语法在其上使用时,如下所示:
myAPI.uploadSomeData(data1, data2)
uploadSomeData 调用转到类似“TryGetMember”的函数,该函数使用名称“uploadSomeData”执行 $.ajax 调用以生成 URL,返回值是结果。
最佳答案
关于c# - JavaScript 等同于 C# 的 DynamicObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150544/
我希望能够存储一个 Action 字典,并能够根据字典的键调用那些 Action 。如果未找到 key ,则不会调用任何操作。我有一个想法,即使用扩展 DynamicObject 的对象执行调用并在构
我有一个 DynamicObject 的子类,我想像 DO 的显式转换方法 TryConvert 一样实现原始类型的隐式转换;也就是说,无需编写多个隐式运算符 [type] 函数。 用法: dynam
假设我不能使用 ExpandoObject 并且必须自己滚动:- class MyObject : DynamicObject { dictionary _properties = dicti
这是从 DynamicObject 派生的 DynamicDataObject 类 public class DynamicDataObject : DynamicObject {
我有列表,其中 MyType:DynamicObject。 MyType 继承自 DynamicObject 的原因是我需要一个可以包含未知数量属性的类型。 在我需要过滤列表之前,一切正常。有没有办法
我知道 viewbag 是现成的 DynamicObject 之一,但是如果您不在 View 或 Controller 中,是否还有其他现成的 DynamicObject 除了自己写? (顺便说一句,
我正在实现一个通用函数来从任意提供的动态对象中提取一个值,但不知道如何调用 TryGetMember因为它需要 GetMemberBinder这是抽象的,因此我无法创建它。 样本... public
我正在试验 C# 4.0 的动态对象模型。 我创建了一个名为“Block”的抽象类,它继承自 DynamicObject。它覆盖 TryGetMember 和 TrySetMember。 此外,我创建
假设我有一个继承自 DynamicObject 的类: public class DynamicBase : DynamicObject { public override bool TryGe
在我们的应用程序中,Resources.designer.cs 文件中有 1000 次静态属性的使用。例如: Resources.string_to_identify_the_resource 我们也
我正在编写一个 Javascript C# 桥并遇到了以下问题: 有一个 JSObject 类: public class JSObject : DynamicObject { public
我有一个派生自 DynamicObject 类的类。在调用 JsonConvert.SertializeObject 时,没有任何动态属性被序列化。 类定义为, public clas
现在我有一个扩展 DynamicObject 并覆盖 TryGetMember 的类。 public class FieldCollection : DynamicObject, ICollectio
在 DynamicObject 的文档中,有一个 DynamicDictionary 的示例,它允许您像使用具有属性的类一样使用字典。 这是类(为简洁起见略作修改): public class Dyn
我正在阅读 this关于C# 4.0 中的动态对象的文章。 在该示例中,函数 TryGetMember(GetMemberBinder binder, out object result) 的第二个参
我已成功将事件处理程序添加到我的动态对象中。但是,我无法删除它们。 dynamic d = new MyDynamicObject(); d.MyEvent += new EventHandler(t
我正在尝试设计一个执行提取转换加载操作的过程。我想在我的管道中使用 ExpandoObject 以允许我轻松地将列添加到我的数据流中。基本上,我从某种数据源读取数据,将其转换为动态数据,然后将其返回到
通常,当您覆盖/实现 bool TryDoSomething(...) 方法时,如果它不起作用,您将返回 false。 在 DynamicObject 的情况下,我们返回 false 并且它抛出一个仅
是否可以确定动态成员访问期望的类型?我试过了 dynamic foo = new MyDynamicObject(); int x = foo.IntValue; int y = (int)foo.I
我正在尝试构建一个能够处理通用方法调用的 DynamicObject,但似乎需要的 API - 尽管存在于 RC versions of 4.0 Framework 中- 已在 RTM 中标记为内部(
我是一名优秀的程序员,十分优秀!