问题列表 - 第25494页

通用类实现接口失败

在compimation中遇到一个奇怪的问题,说类没有实现接口.

让我们说av得到了一个类:

public Class MyClass
{
...
}
Run Code Online (Sandbox Code Playgroud)

和一个interace:

public Interface IMyInterface
{
 MyClass PropertyOfMyClass {get;}
}
Run Code Online (Sandbox Code Playgroud)

现在是一个通用类:

public class MyGeneric<T> where T:MyClass
{
  T PropertyOfMyClass 
  {
    get{return ...;}
  }
}
Run Code Online (Sandbox Code Playgroud)

直到这里,每个人都很好并且编译正确.

但是这会在编译时打破:

public class MyGeneric<T>:IMyInterace where T:MyClass
    {
      T PropertyOfMyClass 
      {
        get{return ...;}
      }
    }
Run Code Online (Sandbox Code Playgroud)

说MyGeneric没有实现IMyInterface的方法.但显然确实如此,不是吗?

c#

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

将类转换为字节数组+ C#

如何在C#中将Class转换为字节数组.这是一个托管的,因此以下代码失败

int objsize = System.Runtime.InteropServices.Marshal.SizeOf(objTimeSeries3D);
byte[] arr = new byte[objsize];
IntPtr buff = System.Runtime.InteropServices.Marshal.AllocHGlobal(objsize);
System.Runtime.InteropServices.Marshal.StructureToPtr(objTimeSeries3D, buff, true);
System.Runtime.InteropServices.Marshal.Copy(buff, arr, 0, objsize);
System.Runtime.InteropServices.Marshal.FreeHGlobal(buff);
Run Code Online (Sandbox Code Playgroud)

谢谢

c#-3.0

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

Maven2 junit超时注释不起作用

我们在maven2项目中进行了一系列测试,并使用cruisecontrol进行构建.但是,构建定期挂起,因为测试的注释具有超时

@Test(timeout = 5000)
Run Code Online (Sandbox Code Playgroud)

被忽略了.我尝试在本地运行maven,重现超时被忽略的事实.

有没有办法再次激活测试的超时?

我目前使用一种解决方法来设置cruisecontrol中的超时.然而,这仅仅意味着整个构建被取消,而不仅仅是应该失败的测试.

备注:在maven 1中似乎有一个属性可以激活junven超时,这在maven 2中是丢失的.

java junit maven-2

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

浏览器如何使用过期标头,缓存控制标头,最后修改标头?

我是一名Web开发人员,曾与PHP和.NET合作过.有超过一年的网络工作经验,我无法彻底了解浏览器缓存功能,我希望网络大师可以帮助我.我心中的疑问是:

  • 浏览器如何实际缓存内容,它是否请求查看服务器上的缓存文件是否已更改,
  • 开发人员充分利用浏览器缓存的理想方式是什么,同时也能够毫不费力地在网站上推送新的更改.我认为如果浏览器以某种方式缓存我的CSS和JS和图像,然后每次只检查它们对服务器的修改,这可以解决问题.但我不知道该怎么做.

http-caching browser-cache

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

f:convertDateTime显示错误的日期

在我的Web应用程序中,我使用Hibernate检索数据并将其显示在RichFaces dataTable中.

在我的MySQL表中有一个类型为"date"的字段.当我将此字段打印到我的Bean中的日志时,它会显示数据库中的正确日期(例如2010-04-21).但在富人:dataTable中,它显示如下:

一零年四月二十零日

所以有一天的差异!

我添加了"f:convertDateTime"转换器并将"type"属性设置为"both"以便显示时间.现在它显示:

4/20/10 10:00:00 PM

我用过的"f:convertDateTime"代码:

<f:convertDateTime locale="locale.US" type="both" dateStyle="short"/>
Run Code Online (Sandbox Code Playgroud)

所以看起来像f:convertDateTime梦想有一段时间,因为MySQL-table字段中没有时间信息!

我究竟做错了什么?要显示正确的日期,我需要做什么?

谢谢汤姆

java jsf hibernate richfaces jsf-2

48
推荐指数
3
解决办法
6万
查看次数

git可以撤消未分段文件的签出

我通过git checkout意外地丢弃了我对本地工作树中文件的更改.这些文件目前尚未暂存.是否可以"撤销"此结帐?

git

157
推荐指数
7
解决办法
9万
查看次数

用crontab执行php

我正在尝试按计划运行php脚本.所以我认为crontab是个好主意.我正在使用的服务器是在Linux上,我并不熟悉.所以我遇到的问题是,我不知道如何使脚本可以从PHP执行.我需要引用脚本,或将其放入可以从命令行运行php的文件夹中.所以我不知道给我的crontab提供什么路径,例如:

5  * * * * var/www/some/path/script.php
Run Code Online (Sandbox Code Playgroud)

我发现了一些关于这个php可执行文件的模糊信息

/usr/bin/php
Run Code Online (Sandbox Code Playgroud)

但我在那里找不到任何php文件,也许我没有安装它?我的php5和apache安装在:

/etc/php5
Run Code Online (Sandbox Code Playgroud)

所以我的问题变成了,无论如何在任何其他文件夹中执行带有crontab的php脚本,或者我只是缺少usr/bin/php中的php可执行文件?

php crontab

20
推荐指数
4
解决办法
5万
查看次数

最佳分配算法

我正在为下面的场景寻找最佳分配算法.

我们要求说18件.我的货架上的库存如下.

Bin A - 10 Bin B - 6 Bin C - 3 Bin D - 4

算法应按以下顺序提出箱

Bin A(10),Bin D(4),Bin C(3)

实际情况我们有n个不同数量的箱子.我们需要找到最佳组合.目标是最大化分配数量.

你能帮忙吗?

此致,Shaju

algorithm

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

仅悬停在图像的非透明部分

有没有办法只使图像的非透明部分触发鼠标悬停事件?

如果鼠标移动到透明区域,则应触发鼠标移出,脚本应监听图像下方图层上的任何鼠标悬停事件.

可能吗?感谢您的任何意见.

编辑: 我希望不使用闪光灯这样做.

html javascript css

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

有没有办法确保实现接口的类实现静态方法?

首先,我阅读了erickson对"为什么我不能在Java接口中定义静态方法?"的有用回复..这个问题不是关于"为什么"而是关于"当时如何?".


编辑:我原来的例子不合适,但我会把它留在下面.

虽然我现在确信在大多数情况下我想做的事情是矫枉过正,但有一种情况可能需要:

我再举一个ParametricFunction例子.现在让我们来看一个复杂的函数,比如Bessel函数,其中查找表是合适的.这必须初始化,因此两个选项是将参数直接传递给构造函数或提供init(double[] parameters).后者的缺点是getValue(double x)必须检查每次调用的初始化(或者ArrayIndexOutOfBoundsException必须考虑初始化检查),因此对于时间要求严格的应用程序,我更喜欢构造函数方法:

interface ParametricFunction {
  public double getValue(double x);
}

class BesselFunction implements ParametricFunction {
  public BesselFunction(double[] parameters) { ... }
  public double getValue(double x) { ... }
}
Run Code Online (Sandbox Code Playgroud)

这涉及另一个问题,接口中构造函数的不可能性.那里有什么好的解决方案?我当然可以使用这种init(double[] parameters)方法,但我之所以提到我的原因.
(编辑:好的,这里实现接口的抽象类会这样做)

现在让我们假设ParametricFunction只允许某些参数,例如正整数.如何检查传递给构造函数的参数的真实性?抛出一个IllegalArgument例外是可能的,但checkParametersValidity(double[] parameters)似乎更方便.但是在构造之前需要检查参数,因此它必须是静态方法.这就是我真正想知道的方法,以确保实现ParametricFunction接口的每个类都定义了这个静态方法.

我知道这个例子是相当人为的,不仅仅是init通过接口使用方法的原因值得商榷,我仍然想知道答案.如果您不喜欢它,请将其视为学术问题.

(原例)

所以基本上我希望一个接口提供常用方法和例如getSimilarObject方法.对于(一个组成的)例子

public interface ParametricFunction {
  /** @return f(x) using the parameters */ …
Run Code Online (Sandbox Code Playgroud)

java static interface abstract

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