问题列表 - 第42775页

为什么编译?代码似乎打破了类型参数的约束

在下面的测试中,TesterClass对其两个类型参数之间的关系设置了约束.方法func2()似乎打破了这个约束,我希望它会在某处导致类型编译错误(在func2的定义中,或者每当类与String之外的任何第二个参数一起使用时),但它不会!

此外,如果我调用func2并将结果保存在适当类型的变量中,则编译失败(在该变量的类型上).但是做同样的事情并保存在更通用的类型(例如Object)中会成功,尽管事实上函数的返回类型在两种情况下都应该具有相同的类型(在向上转换之前).

这里发生了什么?

谢谢!

public class TestGenerics {
    public static class ParamedType<T> {}


    public class TesterClass<A extends ParamedType<B>, B> {
        public TesterClass<A, B> func() {
            return new TesterClass<A, B>();
        }

        public TesterClass<A, String> func2() {
            return new TesterClass<A, String>();
        }
    }

    public Object test() {
        // How can I use these type parameters? Doesn't .func2 now have an invalid return type?
        TesterClass<ParamedType<Integer>,Integer> testClass = new TesterClass<TestGenerics.ParamedType<Integer>, Integer>();

        //TesterClass<ParamedType<String>, Integer> res2 = testClass.func2(); // <-- will not compile
        Object res = …
Run Code Online (Sandbox Code Playgroud)

java eclipse generics compiler-bug eclipse-jdt

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

为什么WPF缺乏HTML支持?

为什么WPF缺乏HTML支持?我知道有Frame.但是,这甚至不应被视为WPF控件(至少,当它呈现HTML时).我知道有一个浮动窗口的黑客,但那是废话!

我只是想在我的WPF应用程序中,在带有圆角和阴影的窗口中显示静态HTML文档.我正在打砖墙,我非常沮丧!

救命!

html wpf frame

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

有没有办法强制ios 4应用程序关闭并重新打开自己?

我正在处理的应用程序在传播设置时出现问题,但一旦关闭并重新打开,它似乎工作正常.这是一个闹钟应用程序,因此它不会受益于多任务处理.由于我使用NSUserDefaults保存相关设置,因此我关闭了多任务处理:

@implementation MyAppDelegate

- (void) applicationDidEnterBackground:(UIApplication *)application {
      exit(0);

}
...
@end 
Run Code Online (Sandbox Code Playgroud)

因此,此时用户必须手动关闭并重新打开应用程序.是否有可以发送的命令使应用程序关闭并重新打开(自动)?如果在从屏幕上删除设置视图控制器时更改了某些设置,我希望应用关闭并重新打开.

ios4 ios

0
推荐指数
2
解决办法
2637
查看次数

如何调试VS2010安装项目?

如何调试VS2010安装项目?我尝试附加到msiexec.exe,但它没有帮助.

debugging installation visual-studio

10
推荐指数
2
解决办法
9725
查看次数

Ruby on Rails:updated_at - 在创建时设置为0

当我在query表上创建一个新记录时,我希望updated_at(timestamp)为'0000-00-00 00:00:00' - 而不是当前时间戳,因为Ruby on Rails默认设置.

MySQL字段:

`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

但是,Ruby on Rails生成了这个SQL查询:

INSERT INTO `queries` (`updated_at`) VALUES ('2011-01-04 17:40:15')
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

activerecord ruby-on-rails

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

在C和Labview之间共享一个变量?

允许C代码定期访问从单独的Labview程序生成的整数的瞬时值的最佳方法是什么?

我有时间关键的C代码控制科学实验并每20ms记录一次数据.我还有一些labview代码可以操作不同的仪器并输出一个100ms的整数值.我希望我的C代码能够记录labview的值.做这个的最好方式是什么?

一个想法是让Labview在循环中将整数写入文件,并让C代码在循环中读取文件的值.(如果需要,我可以在我的C代码中添加第二个线程.)Labview也可以链接到C dll.所以我或许可以在C中编写一个DLL,以某种方式促进两个程序之间的共享.这是可取的吗?我该怎么办?

c variables labview

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

如何确保此私有只读数组实际上是私有和只读?

我试图弄清楚我是如何成功更改"只读"数组的.下面的代码运行成功,但我很困惑为什么私有/只读数组的解除引用是合法的,如下所示:

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      MyClass myClass = new MyClass();
      myClass.Time[5] = 5; // Why is this legal? How can I make it illegal?
    }
  }

  public class MyClass
  {
    private readonly uint[] time;
    public IList<uint> Time
    {
      get { return time; }
    }

    public MyClass()
    {
      time = new uint[7];
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

正如我在上面提到的那样,我认为Time [5]是非法的,因为公共IList Time没有setter.

如何更改MyClass以确保它合法myClass.Time[5]

注意:我已经澄清了这个问题的意图,我在一开始就不清楚其意图是制作这个ILLEGAL.而且我想了解为什么它的合法性一如既往.

c# readonly

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

在Spring MVC中,是否可以在一个请求处理程序方法中使用不同的返回类型?

例如,如果请求成功,我将返回一个View,如果没有,则返回一个指示错误消息的String,并将content-type设置为xml或json.并且JavaScript XHR回调方法将完成重定向到另一个页面(View)或保持在同一页面并显示错误信息的工作.

根据我读到的内容,似乎我应该使用"void"作为处理程序方法的返回类型.检查一下:"如果方法处理响应本身(通过直接写响应内容,为此目的声明类型为ServletResponse/HttpServletResponse的参数)或者假定视图名称应通过RequestToViewNameTranslator隐式确定(无法声明),则为void处理程序方法签名中的响应参数."(Spring Framework参考).

我不明白的是"视图名称应该通过RequestToViewNameTranslator隐式确定(不在处理程序方法签名中声明响应参数)"是什么意思?有人给我举个例子吗?

java spring spring-mvc

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

会话关闭后,nhibernate不会释放内存

我正在使用NHibernate 2.2与c#3.5和VS2008,

问题是当我关闭Nhibernate Session对象时,内存未释放.甚至我在每次关闭后调用GC.Collect(),但没有任何东西被释放

当会话关闭时,如何强制NHibernate释放会话中加载的对象?

谢谢

nhibernate

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

Delphi 2010迁移项目中的Rave BE"代码报告"是什么?

我想将Delphi 7项目迁移到Delphi 2010.

我们正在使用Rave BE的TReportShell和TDetailShell组件构建"代码报告".Rave BE 7.7中不再存在这些组件.

此外,似乎在Rave BE中打破了unicode支持(在Delphi 2009上的Rave Reports中显示unicode文本).

将此项目移植到Delphi 2010的最佳解决方案是什么?

  1. 重新实现编写aruond TReportShell和TDetailShell的代码以使用新的TRvNDRWriter组件?
  2. 迁移到快速报告?
  3. 还有其他建议吗?

delphi reporting rave-reports delphi-2010

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