问题列表 - 第21197页

无法在条件语句中声明局部变量

这是允许的:

        // scope_1
        int i = 100;
        if (i > 50)
        {
            // scope_2
            int a = 200;
        }
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

        // scope_1
        if (100 > 50)
            int a = 200;
Run Code Online (Sandbox Code Playgroud)

第二个代码示例的原因是否由于范围而导致错误?因此编译器不允许可变一个只有当条件语句评估为真,因为如果它确实允许的话,那就没有办法编译器弄清楚是否允许另一个名为变量的声明中声明内特定范围一个 scope_1内?

.net c#

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

WorkingDirectory的System.Diagnostics.Process问题

我正在使用第三方软件工具(命令行工具)将PDF文件合并在一起.使用C#我试图用来System.Diagnostics.Process运行可执行文件,但我想出了一些错误,具体取决于参数设置.

  • 如果UseShellExecute = trueRedirectStandardOutput = true我得到:
    • Process对象必须将UseShellExecute属性设置为false以重定向IO流.
  • 如果UseShellExecute = trueRedirectStandardOutput = false我得到:
    • 该系统找不到指定的文件
  • 如果useShellExecute = falseRedirectStandardOutput = true我得到:
    • 该系统找不到指定的文件
  • 如果UseShellExecute = falseRedirectStandardOutput = false我得到:
    • 该系统找不到指定的文件

正在运行的代码如下:

Process p = new Process();

p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.WorkingDirectory = "C:\\Program Files (x86)\\VeryPDF PDF Split-Merge v3.0";
p.StartInfo.FileName = "pdfpg.exe " + strFileNames.Trim() + " " 
                       + D2P_Folder_Converted + "\\" …
Run Code Online (Sandbox Code Playgroud)

system.diagnostics process processstartinfo

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

如何在Google Chrome中的Greasemonkey脚本中使用jQuery?

正如你们中的一些人可能知道的那样,谷歌Chrome对Greasemonkey脚本有一些严重的限制.

铬不支持@require,@resource,unsafeWindow,GM_registerMenuCommand,GM_setValue,或GM_getValue.

没有require,我找不到在Google Chrome下的Greasemonkey脚本中包含jQuery库的方法.

有人在这件事上有一些建议吗?

jquery greasemonkey google-chrome require userscripts

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

使用JAXB解组列表

我知道这是一个初学者的问题,但是我现在一直在撞墙挡了两个小时,试图解决这个问题.

我从REST服务(Windows Azure Management API)返回XML,如下所示:

<HostedServices
  xmlns="http://schemas.microsoft.com/windowsazure"
  xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <HostedService>
    <Url>https://management.core.windows.net/XXXXX</Url>
    <ServiceName>foo</ServiceName>
  </HostedService>
  <HostedService>
    <Url>https://management.core.windows.net/XXXXX</Url>
    <ServiceName>bar</ServiceName>
  </HostedService>
</HostedServices>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用JAXB解组它时,服务列表始终为空.

我想尽可能避免编写XSD(微软不提供).这是JAXB代码:

  JAXBContext context = JAXBContext.newInstance(HostedServices.class, HostedService.class);
  Unmarshaller unmarshaller = context.createUnmarshaller();
  HostedServices hostedServices = (HostedServices)unmarshaller.unmarshal(new StringReader(responseXML));

  // This is always 0:
  System.out.println(hostedServices.getHostedServices().size());
Run Code Online (Sandbox Code Playgroud)

以下是Java类:

@XmlRootElement(name="HostedServices", namespace="http://schemas.microsoft.com/windowsazure")
public class HostedServices
{
  private List<HostedService> m_hostedServices = new ArrayList<HostedService>();

  @XmlElement(name="HostedService")
  public List<HostedService> getHostedServices()
  {
    return m_hostedServices;
  }

  public void setHostedServices(List<HostedService> services)
  {
    m_hostedServices = services;
  }
}

@XmlType
public class HostedService
{
  private String m_url;
  private String …
Run Code Online (Sandbox Code Playgroud)

java list jaxb azure

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

如何在java中动态声明实例的泛型类型

我正在嘲笑一个不使用泛型的接口,但确实将一个Class类型作为参数.

public Object query(Class c, Filter f)
{....}
Run Code Online (Sandbox Code Playgroud)

我的实现中有一种方法可以c用作泛型的参数吗?

例如.

return new ArrayList<c>();
Run Code Online (Sandbox Code Playgroud)

显然我可以做一个switch如果我知道一组值c,但这是一个非常难看的黑客,我不想做.

谢谢.

java generics

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

当节点宕机时,Cassandra 如何重新平衡?

当节点出现故障或不可用时,有没有人使用过Cassandra?我最感兴趣的是集群是否重新平衡以及节点上线或被新机器取代时会发生什么。

cassandra

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

MKMapView:如何根据准确度设置区域范围?

我在iPhone上实现了地图应用程序.我希望地图放大用户的当前位置.我想根据准确性(模拟地图应用程序的工作方式)进行缩放.

我实现这个方法:

    - (void)locationManager:(CLLocationManager *)manager 
didUpdateToLocation:(CLLocation *)newLocation 
fromLocation:(CLLocation *)oldLocation {
Run Code Online (Sandbox Code Playgroud)

我面临的问题是CLLocation为我提供了属性horizo​​ntalAccuracy和verticalAccuracy的准确性,它最终意味着米.但是,为了使地图居中,我使用这个:

MKCoordinateRegion region;
MKCoordinateSpan span;
region.center = newLocation.coordinate; 
span.latitudeDelta=.005;  //THIS IS HARDCODED
span.longitudeDelta=.005; //THIS IS HARDCODED   
region.span = span;

[mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种基于horizo​​ntalAccuracy(以米为单位)计算latitudeDelta(以度为单位)的方法.

它不需要是精确的转换(我不期待转换公式,这将需要相当多的计算,包括当前位置),只是一些aprox值.

有任何想法吗?

谢谢.Gonso

iphone mkmapview

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

如何发布Java程序的补丁

我最近发布了一个跨平台的Java应用程序.为了分发,我们为Windows创建了一个NSIS安装程序,并使用DMG for Mac(具有JarBundled .app文件).我们还计划创建Linux RPM,DEB和tarball.

总共有5种不同的分配方法可供照顾.

我的问题是:修补在许多平台上运行的Java程序的最佳跨平台方法是什么?

java windows macos patch cross-platform

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

Mercurial .hgignore否定前瞻

使用Mercurial,我需要忽略所有文件,除了名为"keepers"的某个目录中的文件.

从表面上看,使用Regex和Negative Lookahead似乎很容易; 但是,虽然我能够在Regex Buddy和其他工具中验证我的正则表达式,但在TortoiseHg中,它并没有按预期工作.

文件:

  • 垃圾\ junk.txt
  • 垃圾\文
  • 饲养员\测试\测试
  • 饲养员\测试\ TEST2\hi.txt
  • keepersblah.txt

只有守护者下的两个文件不应该被忽略.

这是我希望的正则表达式:

^(?!keepers/).+$
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这会导致忽略所有文件.如果我将其更改为:

^(?!keepers).+$
Run Code Online (Sandbox Code Playgroud)

它可以像你期望的那样工作.也就是说,它会忽略任何不以keepers开头的文件/文件夹.但我确实想忽略以keepers开头的文件.

奇怪的是,如果我改成它:

^(?!keepers/).+\..+$
Run Code Online (Sandbox Code Playgroud)

它将正确匹配文件夹,但如果没有扩展名,则不会忽略不在keepers文件夹中的文件.

任何意见,将不胜感激.

删除死的ImageShack链接

regex mercurial tortoisehg hgignore

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

无需"持久性服务"即可管理工作流生命周期

我现在正在使用Windows WF来简单地说明状态机.事实上,我甚至没有使用状态机,我正在使用顺序工作流程.最终,我会抛弃WF而不是其他东西,但由于我已经有了代码,我需要让Abort,Suspend和Resume方法正常工作.

我的应用程序生成一个线程,然后生成另一个拥有WorkflowInstance的线程.我的GUI中有Abort,Pause和Resume按钮,它们最终分别调用WorkflowInstance的Abort,Suspend和Resume方法.

问题是当我这样做时,我得到一个非常大且可怕的MessageBox,它说:

工作流托管环境没有工作流实例上的操作所需的持久性服务

以及一个很好的堆栈跟踪和所有.现在,我在Bruce Bukovics的Pro WF中查找了这些方法,他的一个例子称这些方法,并没有提到"持久性服务".但是,他的示例调用属于WorkflowRuntime的范围,即他将它们调用为:

using(WorkflowRuntimeManager manager = new WorkflowRuntimeManager(new WorkflowRuntime("WorkflowRuntime")))
{
  manager.WorkflowRuntime.StartRuntime();
  WorkflowInstanceWrapper instance = manager.StartWorkflow(typeof(SharedWorkflows.Workflow1), null);
  instance.Suspend("Manually suspended");
  instance.Resume();
  waitHandle.WaitOne();
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我将WorkflowRuntime实现为单例,因为我发现在创建像这样的WorkflowRuntime时存在巨大的内存泄漏.所以我的代码看起来像这样:

WorkflowInstance instance = WorkflowRuntimeSingleton.Instance.workflow_runtime.CreateWorkflow(typeof(SharedWorkflows.Workflow1), null);
instance.Start();
instance.Suspend("Manually suspended");
instance.Resume();
waitHandle.WaitOne();
Run Code Online (Sandbox Code Playgroud)

现在,如果我如上所示调用Suspend and Resume,它可以正常工作.但是,如果我通过GUI发出调用,它会抱怨持久性服务.

鉴于这些信息,并且我不想仅仅为了获得这三个功能而建立数据库,我想知道我需要做些什么来使这项工作.我最好的猜测是,WF不喜欢从一个单独的线程控制.如果是这种情况,是否有一种好方法可以使调用看起来好像是从同一个线程发出的?

以下是我提出的一些可能的解决方案,但我确信这里的某个人有更好的方式来做到这一点.

  1. WF通过GUI界面查询中止/暂停/恢复(看起来真的很蹩脚)
  2. 用WaitAny()替换WaitOne(),并将GUI调用到拥有工作流的对象中设置AutoResetEvent.WaitAny()允许继续执行,然后我的代码可以检查用户按下哪个按钮.这需要包装在一个循环中,以便我们可以再次等待,直到用户单击Abort,或直到WF完成.
  3. 使用布尔标志基本上做#2正在做的事情.
  4. 看看SO上是否有人知道如何让电话神奇地进入正确的线程:)

任何见解或意见将非常感谢!

.net workflow workflow-foundation

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