问题列表 - 第2220页

委托数组

我正在尝试从委托数组中调用委托函数.我已经能够创建委托数组,但是如何调用委托?

public delegate void pd();

public static class MyClass
{

    static void p1()
    {
        //...
    }

    static void p2 ()
    {
        //...
    }

    //...

    static pd[] delegates = new pd[] {

        new pd( MyClass.p1 ),
        new pd( MyClass.p2)
        /* ... */
    };
}

public class MainClass
{
    static void Main()
    {
        // Call pd[0]
        // Call pd[1]
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑: 数组的原因是我需要根据需要通过索引调用委托函数.它们不是为响应事件而运行的.我在代码中看到一个严重(愚蠢)的错误,因为我试图使用pd []类型而不是数组的名称(委托)来执行委托函数.

c# arrays delegates

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

处理用户双击winforms应用程序中的按钮的最佳方式?

我正在使用WinForms应用程序,我有一个用户控件.用户控件中的按钮将事件提升到要由其他代码处理的表单.其中一个按钮启动一些过程,如果它们同时运行会导致问题.我在代码中有逻辑来管理状态,因此通常用户无法运行该进程(如果它已在运行).但是,如果用户双击该按钮,它将快速启动该过程两次,以至于我很难阻止它.

我想知道,处理这个问题的最佳方法是什么?

我开始时通过在单击事件中禁用按钮,但在第一次单击导致按钮被禁用之前,第二次单击进入.在代码中设置其他标志也没有捕获它.

我正在考虑在引发事件的代码上添加某种同步锁,但我想知道你是否有更好的想法.

由于这个项目大部分都是完整的,我正在寻找不涉及对应用程序进行彻底改写的答案(比如实现复合应用程序块),但是,我也可以自由发布这些想法,因为我可以在我的下一个项目中使用它们.

.net user-interface button double-click winforms

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

如何在Perl中存储数组或散列中的重复值?

让我们这很容易.我想要的是:

@array = qw/one two one/;
my @duplicates = duplicate(@array);
print "@duplicates"; # This should now print 'one'.
Run Code Online (Sandbox Code Playgroud)

如何打印数组/哈希的重复值?

arrays perl hash duplicates

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

在AS3中最容易实现onReleaseOutside?

我是一个长期的ActionScript 2用户,现在开始使用ActionScript 3.我缺少的一件事是复制AS2的MovieClip.onReleaseOutside功能的简单方法.几乎总是有必要实现这个事件,否则你会得到一些有趣的错误,比如flash认为你的鼠标已经关闭了.

根据AS2到AS3迁移指南,我应该使用flash.display.InteractiveObject.setCapture()它,但据我所知,它不存在.我猜这个文件已经过时或不正确.我在网上发现了一些关于如何复制这个功能的帖子,但是他们有自己的问题:

  • 即使没有相应的onPress事件,这个触发onReleaseOutside.
  • 这个效率似乎非常低效,每次在应用程序内的任何位置单击鼠标时,您都会添加和删除事件侦听器.

必须有一个更简单的方法,不要告诉我Adobe在重写Actionscript时忘了这个吗?

示例AS2代码:

// Assume myMC is a simple square or something on the stage

myMC.onPress = function() {
  this._rotation = 45;
}

myMC.onRelease = myMC.onReleaseOutside = function() {
  this._rotation = 0;
}
Run Code Online (Sandbox Code Playgroud)

没有onReleaseOutside处理程序,如果你按下squre,将鼠标拖到它外面,然后释放鼠标,那么方块就不会旋转,并且看起来被卡住了.

migration flash actionscript-2 actionscript-3

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

如何防止Python打印添加换行符或空格?

在python中,如果我说

print 'h'
Run Code Online (Sandbox Code Playgroud)

我收到了字母h和换行符.如果我说

print 'h',
Run Code Online (Sandbox Code Playgroud)

我收到了字母h而没有换行.如果我说

print 'h',
print 'm',
Run Code Online (Sandbox Code Playgroud)

我收到了字母h,空格和字母m.如何防止Python打印空间?

print语句是同一循环的不同迭代,所以我不能只使用+运算符.

python printing formatting python-2.x

232
推荐指数
10
解决办法
27万
查看次数

mysql charset cli

我如何确定mysql db的charset设置为什么?在cli?

mysql command-line-interface character-encoding

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

降价和图像对齐

我正在建立一个每月发布问题文章的网站.它很简单,我认为使用Markdown编辑器(就像Stack Overflow中的WMD一样)将是完美的.

但是,他们确实需要能够在给定段落中对齐图像.

我无法通过当前系统看到这样做的方法 - 有可能吗?

html css markdown

168
推荐指数
10
解决办法
16万
查看次数

我如何填写德尔福集?

如果我将类型定义为枚举类型的集合,则使用[]创建空集很容易,但如何创建完整集?

编辑:是的,显而易见的解决方案是使用for循环.如果有另一种方式,这也是一个非常糟糕的解决方案.有谁知道一种在恒定时间内工作的方式?

delphi set

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

用于C++的非GPL JSON-RPC库

哪些非GPL库可用于在本机C++中编写JSON-RPC服务器和客户端?

根据http://json-rpc.org/wiki/implementations,似乎只存在一个用于C++的JSON-RPC实现,即JsonRpc-Cpp,但只能在GPL下使用.很遗憾,我们无法在我们的软件中使用GPL代码.

big-llc.com上的JSON RPC C库可能是另一种选择.他们称之为"一个免费的轻量级实现C库来更轻松地处理JSON-RPC请求",但他们没有提到许可.

有谁知道其他选择?

c++ json-rpc

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

如何使用我喜欢的diff工具/查看器查看'git diff'输出?

当我输入时git diff,我想用我选择的视觉差异工具(Windows上的SourceGear"diffmerge")查看输出.如何配置git来执行此操作?

git diff diffmerge difftool git-difftool

735
推荐指数
17
解决办法
42万
查看次数