问题列表 - 第19807页

C#Type-casting oddity - 接口作为泛型类型

我刚刚遇到了我认为类型转换的奇怪之处.我有类似以下代码:

interface IMyClass { }

class MyClass: IMyClass { }

class Main
{
  void DoSomething(ICollection<IMyClass> theParameter) { }

  HashSet<MyClass> FillMyClassSet()
  {
    //Do stuff
  }

  void Main()
  {
    HashSet<MyClass> classSet = FillMyClassSet();
    DoSomething(classSet);
  }
}
Run Code Online (Sandbox Code Playgroud)

当它到达DoSomething(classSet)时,编译器会抱怨它无法将HashSet <MyClass>强制转换为ICollection <IMyClass>.这是为什么?HashSet实现了ICollection,MyClass实现了IMyClass,那么为什么不能使用强制转换?

顺便说一句,这并不难解决,认为它有点尴尬.

void Main()
{
  HashSet<MyClass> classSet = FillMyClassSet();
  HashSet<IMyClass> interfaceSet = new HashSet<IMyClass>();
  foreach(IMyClass item in classSet)
  {
    interfaceSet.Add(item);
  }
  DoSomething(interfaceSet);
}
Run Code Online (Sandbox Code Playgroud)

对我来说,这个作品的事实使得无法施展更加神秘.

.net c# casting interface

4
推荐指数
1
解决办法
1656
查看次数

PL/pgSQL中的EXECUTE ... USING语句不适用于记录类型?

我正在尝试在PL/PgSQL中编写一个函数,它必须使用它作为参数接收的表.

我在函数定义中使用EXECUTE..INTO..USING语句来构建动态查询(这是我知道这样做的唯一方法)但是...我遇到了RECORD数据类型的问题.

让我们考虑以下(极简化)示例.

 -- A table with some values.
 DROP TABLE IF EXISTS table1;
 CREATE TABLE table1 (
     code INT,
     descr TEXT
 );

INSERT INTO table1 VALUES ('1','a');
INSERT INTO table1 VALUES ('2','b');


-- The function code. 
DROP FUNCTION IF EXISTS foo (TEXT);
CREATE FUNCTION foo (tbl_name TEXT) RETURNS VOID AS $$
DECLARE 
    r RECORD;
    d TEXT;
BEGIN
    FOR r IN
    EXECUTE 'SELECT * FROM ' || tbl_name
    LOOP
    --SELECT r.descr INTO d; --IT WORK
    EXECUTE 'SELECT ($1)' || '.descr' …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

6
推荐指数
1
解决办法
2万
查看次数

Prawn&Prawnto Rails PDF生成 - UTF-8?

我正在使用ruby,prawn和prawnto动态生成包含其他语言文本的pdf.我似乎无法使用非英文字符的语言显示任何文本.它不会抛出任何错误...只显示一堆破折号而不是字符.Prawn在其主页上讨论UTF-8支持,所以我不明白为什么这是一个问题.我正在使用红宝石1.8.6(发动机厂).

pdf ruby-on-rails utf-8 prawn prawnto

9
推荐指数
2
解决办法
6320
查看次数

在Java中实现动态插件

我想在Java应用程序中实现动态插件功能.理想的情况是:

  • 应用程序将Plugin使用类似的方法定义接口getCapabilities().
  • 插件将是一个pluginX.jar包含PluginXImpl实现Plugin(可能还有其他一些)的类的JAR .
  • 用户将放入pluginX.jar特殊目录或设置指向它的配置参数.用户不一定必须包含pluginX.jar在他们的类路径中.
  • 应用程序会找到PluginXImpl(可能通过JAR清单,可能通过反射)并将其添加到注册表中.
  • 客户端可以PluginXImpl例如通过调用类似的方法来获取实例getPluginWithCapabilities("X").用户不一定必须知道插件的名称.

我有一种感觉,我应该能够用peaberry做到这一点,但我无法理解文档.我花了一些时间学习Guice,所以我的首选答案不是"使用Spring Dynamic Modules".

任何人都可以给我一个简单的想法,如何使用Guice/peaberry,OSGi,或只是简单的Java?

java plugins osgi guice peaberry

18
推荐指数
1
解决办法
7318
查看次数

.rows.length,在firefox中不起作用

我有JavaScript代码的问题,它在IE7/8中工作,但在Firefox中不起作用

for (var i = 1; i < document.getElementById(obj).rows.length; i++)
{
    var numColumns = document.getElementById(obj).rows(i).cells.length;
    if (numColumns > 0)
    {
        if (document.getElementById(obj).rows(i).cells(numColumns - 1).children.length > 1)
        {
            if (document.getElementById(obj).rows(i).cells(numColumns - 1).children(1).checked == true)
            {
                var ctrlId = document.getElementById(obj).rows(i).cells(numColumns - 1).children(1).id.replace('chk', 'txt')
                workflowIds = workflowIds + (workflowIds == '' ? '' : '|') + document.getElementById(ctrlId).value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误: "错误:document.getElementById(obj).rows不是函数......等"

谢谢 !!!

javascript row

1
推荐指数
1
解决办法
1905
查看次数

历史流量数据的API?

有谁知道历史流量数据的公共API?

一些快速的谷歌搜索从雅虎提取了一个提供实时数据的API,但我很好奇是否有人托管历史数据服务 - 即什么是"严重性"(雅虎API返回的属性之一)给定日期和时间的给定位置.

(我猜想今天不存在这样的事情,或者至少没有公共选择,因为存储的数据量非常大,但是要问......它永远不会受到伤害.)

api google-analytics traffic google-analytics-api

7
推荐指数
2
解决办法
1万
查看次数

批量插入期间Fluent NHibernate命令超时

我正在尝试将大约16000条记录插入到一​​个表中.因为这很慢,我想批量插入它们.但是,当我尝试这样做时,我总是会收到超时错误.所以我有两个问题:

  1. 加速插入的最佳方法是什么?
  2. 如何增加连接的超时值?

nhibernate fluent-nhibernate

3
推荐指数
1
解决办法
2331
查看次数

Python如何管理int和long?

有没有人知道Python如何管理内部int和long类型?

  • 它是否动态选择正确的类型?
  • int的限制是什么?
  • 我使用的是Python 2.6,与以前的版本有什么不同?

我该如何理解下面的代码?

>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
Run Code Online (Sandbox Code Playgroud)

更新:

>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
Run Code Online (Sandbox Code Playgroud)

python integer

106
推荐指数
4
解决办法
19万
查看次数

C#Generics,比较2个字符串失败,除非明确指定

我以为我已经看到了这一切,但是...... :)

我正在研究字符串类型的通用图,

Graph<string> graph = new Graph<string>();
Run Code Online (Sandbox Code Playgroud)

使用类约束声明图形,如下所示:

public class Graph<T> where T : class
Run Code Online (Sandbox Code Playgroud)

接下来,我用一些动态生成的字符串填充图表:

for (char t = 'A'; t < 'J'; t++)
{
    GraphPrim.Add(t.ToString());
}
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,(Node是一个内部类,包含原始值和一个对其他节点的引用列表(因为它是一个图))

现在,当我尝试在不同节点之间创建关系时,我必须通过检查其值以及怪异开始的位置来查找正确的节点.

以下代码是执行某些测试后在immidiate窗口中找到的结果的直接副本:

Nodes.First().Value
"A"
Nodes.First().Value == "A"
false
Nodes.First().Value.ToString() == "A"
true
Run Code Online (Sandbox Code Playgroud)

我完全缺少一些东西或不应该Nodes.First().值=="A"使用字符串比较方法.(JIT编译器知道运行时使用的类型,以及它支持的方法,对吧?).在我看来,当没有明确指定字符串时,它会进行引用检查而不是字符串测试.

如果有人可以向我解释这一点,那就太好了,

提前致谢!

c# generics

7
推荐指数
3
解决办法
511
查看次数

hoverIntent触发select元素的'out'函数

后面的代码用于显示和隐藏Mega Dropdown.如果你鼠标悬停在'dropDown'类的链接上,那么它的子节点'.dropPanel'会显示.只要您的鼠标位于链接或下拉面板上,就会显示下拉面板.将光标移动到链接或面板的任何位置,并隐藏面板.很基本的东西.

在其中一些Mega Dropdown中,有些表格包含选择元素.在Firefox中,一切都很好.在IE中(具体来说,8没有测试过任何其他版本),如果你鼠标悬停在下拉面板中的select元素上,hoverIntent将触发dropPanelOff()的'out'函数,并且下拉面板会隐藏.

我该如何防止这种情况?

        // Apply Hover Intent to Menu Panels
        $(".dropDown").hoverIntent({
            sensitivity: 10, 
            interval: 150, 
            over: dropPanelOn, 
            timeout: 150, 
            out: dropPanelOff
        });

            // Menu Over function call
            function dropPanelOn() {
                $('a[rel="dropLink"]', this).addClass('hover');
                $('.dropPanel', this).slideDown('fast');
            }

            // Menu Out function call
            function dropPanelOff() {
                obj = this;
                $('.dropPanel', this).slideUp(100, function(){
                    $('a[rel="dropLink"]', obj).removeClass('hover');
                    $('.dropLink span', obj).removeClass('hover');
                });
            }
Run Code Online (Sandbox Code Playgroud)

jquery hoverintent

5
推荐指数
1
解决办法
1652
查看次数