Tag: dynamic编程

在.NET 4.0中dynamic实现接口(C#)

使用.NET 4.0中的新dynamicfunction,似乎应该可以dynamic地实现一个接口,例如: public interface IFoo { string Bar(int baz); } public class Foo : IFoo { public string Bar(int baz) { return baz.ToString(); } } public class Proxy : IDynamicMetaObjectProvider { private readonly object target; public Proxy(object target) { this.target = target; } // something clever goes here } 那么我希望有一些方法可以写出来: dynamic proxy = new Proxy(new […]

以编程方式向Spring Web App上下文添加Bean

由于插件体系结构,我试图以编程方式向我的webapp添加一个bean。 我有一个通过@Component注释创build的Spring bean,我正在实现ApplicationContextAware接口。 我的覆盖function如下所示: @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { // this fails this.applicationContext = (GenericWebApplicationContext) applicationContext; } 基本上,我不知道如何添加一个bean给setApplicationContext的applicationContext对象。 任何人都可以告诉我,我怎么这样做是错误的? 好的,这就是我最终解决的问题: @Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry bdr) throws BeansException { BeanDefinition definition = new RootBeanDefinition( <My Class>.class); bdr.registerBeanDefinition("<my id>", definition); }

如何在另一个variables中具有名称时设置C#4dynamic对象的属性

我正在寻找一种方法来修改dynamic C#4.0对象的属性,只有在运行时才知道该属性的名称。 有没有办法做一些像( ExpandoObject只是作为一个例子,这可能是实现IDynamicMetaObjectProvider任何类): string key = "TestKey"; dynamic e = new ExpandoObject(); e[key] = "value"; 这将相当于: dynamic e = new ExpandoObject(); e.TestKey = "value"; 或者是唯一的前瞻性思考方式?

是否有可能dynamic地创build一个函数,在C ++运行时?

C ++是一种静态的编译语言,模板在编译期间被parsing,等等。 但是在运行时是否可以创build一个函数,这在源代码中没有描述,在编译过程中没有被转换为机器语言,这样用户就可以在源代码中抛出一个没有预料到的数据呢? 我意识到这不可能以一种简单的方式发生,但是一定是可能的,有很多编程语言没有被编译,并且dynamic地创build那些以C或C ++实现的东西。 也许如果创build了所有基本types的工厂,并且有合适的数据结构来将它们组织成更复杂的对象,比如用户types和函数,这是可以实现的吗? 关于这个问题的任何信息,以及在线材料的指针,欢迎。 谢谢! 编辑:我知道这是可能的,这是更像我有兴趣的实现细节:)

为什么我得到这个编译错误试图调用一个基本的构造函数/方法,需要一个dynamic的参数?

在重构一些代码时,我遇到了这个奇怪的编译错误: 构造函数调用需要dynamic调度,但不能因为它是构造函数初始值设定项的一部分。 考虑转换dynamic参数。 当试图调用带有dynamic参数的基本方法/构造函数时,似乎会发生这种情况。 例如: class ClassA { public ClassA(dynamic test) { Console.WriteLine("ClassA"); } } class ClassB : ClassA { public ClassB(dynamic test) : base(test) { Console.WriteLine("ClassB"); } } 如果我把这个参数转换成object ,它是有效的,像这样: public ClassB(dynamic test) : base((object)test) 所以,我有点困惑。 为什么我不得不把这个讨厌的演员放在 – 为什么编译器不知道我的意思?

dynamic编程algorithm如何在惯用的Haskell中实现?

Haskell和其他函数式编程语言是围绕不维护状态而build立的。 我对于函数式编程的工作原理和概念还不熟悉,所以我想知道是否可以用FP方式实现DPalgorithm。 什么function的编程结构可以用来做到这一点?

Angular.js中的dynamic类

我想dynamic地添加一个CSS类到我正在循环的<li>元素。 循环是这样的: <li ng-repeat="todo in todos" ng-class="{{todo.priority}}"> <a href="#/todos/{{todo.id}}">{{todo.title}}</a> <p>{{todo.description}}</p> </li> 在我的待办模型中,我有属性的优先级,可以是“紧急”,“不太重要”或“正常”,我只是想为每个元素分配类。 我知道我可以用ng-class="{'urgent': todo.urgent}"一个布尔types的操作ng-class="{'urgent': todo.urgent}"但是我的variables不是一个布尔值,而是有三个值。 我将如何做到这一点? 还要注意,我不想使用ng-style="…"因为我的类会改变几个可视化的东西。

发现长模式

给定一个有序的数字列表,我想find连续元素之间的差异在几何上增加的最长的子序列。 所以如果列表是 1, 2, 3, 4, 7, 15, 27, 30, 31, 81 那么子序列是1, 3, 7, 15, 31 。 或者考虑具有a = 3和k = 2的子序列5,11,23,47的1,2,5,6,11,15,23,41,47。 这可以在O( n 2 )时间解决吗? 其中n是列表的长度。 我对两个a和k都是整数的ak , ak 2 , ak 3等一般情况都感兴趣,在a = 1的特殊情况下,差值的变化是k , k 2 , k 3等

为什么dynamic语言不需要IOC容器?

有人在“羊群规范”播客第68号http://herdingcode.com/?p=231上说,国际奥委会的容器没有Python或Javascript的地方,或者说是这个词的意思。 我假设这是传统的智慧,它适用于所有的dynamic语言。 为什么? 什么是dynamic语言,使IOC容器不必要?

C ++中有效的链表

这个文件说std::list是低效率的: std :: list是一个非常低效的类,很less有用。 它为插入到其中的每个元素执行堆分配,因此具有非常高的常数因子,特别是对于小数据types。 评论:这是令我惊讶的。 std::list是一个双向链表,所以尽pipe在元素构造方面效率低下,它支持O(1)时间复杂度的插入/删除,但是在这个引用的段落中完全忽略了这个特性。 我的问题:假设我需要一个用于小尺寸齐次元素的顺序容器,并且这个容器应该支持O(1)复杂的元素插入/删除,并且不需要随机访问(虽然支持随机访问是好事,但这不是必须的这里)。 至less在元素个数很less的时候,我也不希望堆分配给每个元素的构造带来高的恒定因子。 最后,只有当相应的元素被删除时, 迭代器才会失效。 显然,我需要一个自定义容器类,它可能(或可能不)是双向链表的变体。 我应该如何devise这个容器? 如果上述规范不能实现,那么也许我应该有一个自定义的内存分配器,比如说,指针分配器? 我知道std::list将分配器作为其第二个模板参数。 编辑:我知道我不应该太关心这个问题,从工程的angular度来看 – 足够快就足够了。 这只是一个假设的问题,所以我没有更详细的用例。 随意放松一些要求! Edit2:我知道O (1)复杂性的两种algorithm由于其常数因素的不同而可能具有完全不同的性能。