问题标签 [heterogeneous]
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.
collections - 在 Silverlight 2 中呈现视图模型的异构集合
我有一个代表格式化内容的视图模型层次结构:
ContentPartViewModel
我有一个包含要呈现的 s集合的包含视图模型:
然后我有一个ContentView
呈现内容的所有部分:
在理想的世界中,我只需DataTemplate
为每个内容部分类型定义一个,然后相应地呈现它们。但是,Silverlight 不支持该类的DataType
属性DataTemplate
,因此这不是一个选项。
另一种选择是提供一个DataTemplateSelector
并进行从视图模型类型到DataTemplate
我自己的映射。唉,ItemsControl
在 SL2 中没有ItemTemplateSelector
属性 - 只有一个ItemTemplate
属性。
这让我别无选择,只能提供一个ItemTemplate
,然后使用转换器关闭除与该内容部分相关的部分之外的所有 UI:
对于性能和代码的可读性/正确性而言,这显然是相当糟糕的。这也让我更难正确格式化输出。所以,问题:
- 谁能推荐一个更好的方法在 SL2 中做到这一点?
- 谁能确认SL3的情况是否有所改善?
谢谢,肯特
database - 同步两个异构数据库
我有 2 个异构数据库。一个在mysql,一个在ms sql。
我想让它们保持同步。
会有周期性的数据流,信息流是双向的
有人有任何策略/方法吗?
c++ - 将从公共接口派生的类的对象存储在公共容器中的最安全方法是什么?
我想管理一堆从公共容器中的共享接口类派生的类对象。
为了说明这个问题,假设我正在构建一个包含不同演员的游戏。让我们调用接口IActor
并从中派生Enemy
和派生Civilian
。
现在,我的想法是让我的游戏主循环能够做到这一点:
和
... 或类似的规定。这个例子显然行不通,但这就是我在这里问的原因。
我想知道:在通用异构容器中管理这些对象的最佳、最安全、最高级别的方法是什么?我知道各种方法(Boost::Any、void*、带有 boost::shared_ptr 的处理程序类、Boost.Pointer Container、dynamic_cast),但我无法决定哪种方法可以去这里。
另外我想强调的是,我想尽可能远离手动内存管理或嵌套指针。
非常感谢帮助:)。
c++ - C++如何创建异构容器
我需要以(名称,值)的形式存储一系列数据点,其中值可以采用不同的类型。
我正在尝试为每个数据点使用一个类模板。然后对于我看到的每个数据点,我想创建一个新对象并将其推回向量中。对于每种新类型,我需要先从模板创建一个新类。但是我不能存储在任何向量中创建的对象,因为向量期望所有条目的类型相同。我需要存储的类型不能适合继承层次结构。他们是无关的。将来还会创建更多类型,我不想为每种新类型更改存储服务。有没有办法创建一个异构容器来存储这些条目?谢谢!
sql-server-2005 - Oracle 11gr2 使用 dg4msql 连接到 Sql Server 问题
它可能会回应谁,我们已经在 Redhat Enterprise Linux 5.4 上安装了 Oracle 11g r2。我们正在尝试连接到 Sql Server 2005,在应用一些注释后,下面的错误是我们得到的结果:“ORA-28513 异构远程代理中的内部错误”。
listener.ora 如下:
tnsnames.ora 如下:
init4msql.ora 如下:
我们在 Sql Server 2005 上设置了一个名为 'dg4msql' 的系统 dsn,选择驱动程序为 'Sql Server' 和服务器为 'local'
我们很高兴听到解决这个问题的任何想法,
svn - SVN:忽略操作方法和什么?
在我看来,在 .classpath 之类的文件上添加属性 svn:ignore 是个好主意。我同时使用 Windows(工作,呃)和 Linux 开发环境,每次与存储库同步时,它都会覆盖我正在使用的任何机器上的 .classpath。
我尝试在 Team Sync 透视图中右键单击 .classpath 文件,但 svn:ignore 选项显示为灰色。
我有什么想法:1. 让这个项目脱离源代码控制,2. 将它添加到忽略列表中?
任何其他文件是此列表的明智补充吗?
haskell - 受 typeclass 限制的类型项目列表
我正在尝试对类型限制为某些类型类的实例的项目列表进行编码:
但是编译失败并出现错误:
看来我什至没有为类型同义词定义实例......
我知道异构集合wiki 文章,但想知道为什么我的方法不起作用 - 通过将集合限制为仅包含具有某种类型类实例的类型的项目来定义类型对我来说似乎很自然。
antlr - ANTLR:异构 AST 和虚构代币
这是我的第一个问题:)
我想用 ANTLR 构建一个异构 AST 以获得简单的语法。有不同的接口来表示 AST 节点,例如 IInfiExp、IVariableDecl。ANTLR 提出了 CommonTree 来保存源代码的所有信息(行号、字符位置等),我想用它作为实现 AST 接口的基础 IInfixExp ...
为了获得一个 AST 作为输出,CommonTree 作为节点类型,我设置:
IInifxExp 是:
并且实现 InfixExp 是:
相应的规则是:
这很好用,因为 PLUS、MINUS 等是“真正的”令牌。
但现在来到想象中的令牌:
对应的规则是:
有了这个,ANTLR 不会创建以 PROGRAM 作为根节点的树。
在解析器中,以下代码创建 Program 实例:
与 InfixExp 不同,不是调用 Program(Token) 构造函数,而是调用 Program(int)。
程序是:
你可以看到构造函数:
结果,使用 super() 构建了一个没有令牌的 CommonTree。所以 CommonTreeAdaptor.rulePostProcessing 看到的是一个平面列表,而不是一个以 Token 作为根的树。
我的 TreeAdaptor 看起来像:
并测试我使用的任何东西:
为了完整起见,这里是完整的语法:
OK,最后一个问题是如何从
以 PROGRAM 为根的树
而不是一个平面列表
(抱歉这么多代码片段)
Ciao顶点
c# - 在集合中存储两种类型的对象的类型安全方法
我一直在实现一个增强的 Shunting-Yard 算法来解析算术表达式。该算法的一个方面是它维护 aQueue
和 a Stack
。
在我的实现中,Queue
containsExpressions
和Operators
. Stack
包含Operators
和Parenthesis
。_
Expressions
, Parenthesis
, 并且Operators
没有任何共同点可以保证它们中的任何两个具有共享接口。
方法:
我当前的实现包括
Expression
并Operator
实现一个INotParanthesis
.Operator
并Paranthesis
实施一个INotExpression
. 然后我声明Queue <INotParanthesis>
, 和Stack <INotExpression>
。我不喜欢这种实现——这些接口似乎非常适合用于更简洁的算法代码。我也相信接口应该描述一个对象是什么,而不是它不是什么。
另一方面,我也不想使用 的集合
<Object>
,因为很难确定此类代码的正确性。到目前为止,我想出的唯一一个是实现我自己的
NonParanthesisQueue
和NonExpressionStack
容器。这具有对从这些容器中拉出的对象进行更一致的类型检查的优点 - 以及更多代码的缺点。
我的方法是否有任何合理的替代方案?
sql-server - 使用 Oracle Heterogenous services 通过 ODBC 访问 sql server 数据库表
我已经创建了一个从 oracle 到 sql(实现的异构服务)的 dblink 'POC_HS',并且我能够成功地从 DSN(for sql server)连接到的默认数据库中提取数据。
因此,这个“select * from Test@POC_HS”在 Oracle 数据库上运行良好,因为“Test”表位于默认数据库(系统 DSN 连接到该数据库)中。
但是,当我执行 'select * Abc.Test@POC_HS' 其中测试表驻留在不是默认数据库的 'ABC' 数据库中时,会引发如下错误:
ORA-00942: 表或视图不存在 [使用 ODBC 的通用连接][Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称 'Abc.Test'。[Microsoft][ODBC SQL Server Driver][SQL Server ]无法准备声明。(SQL 状态:S0002;SQL 代码:208)
dblink 用户和系统 DSN 帐户可以访问“Abc”数据库。
想法?