在代码审查中,我偶然发现了这个(简化的)代码片段以取消注册事件处理程序:
Fire -= new MyDelegate(OnFire);
Run Code Online (Sandbox Code Playgroud)
我认为这不会取消注册事件处理程序,因为它创建了一个之前从未注册过的新委托.但是搜索MSDN我发现了几个使用这个习惯用法的代码示例.
所以我开始了一个实验:
internal class Program
{
public delegate void MyDelegate(string msg);
public static event MyDelegate Fire;
private static void Main(string[] args)
{
Fire += new MyDelegate(OnFire);
Fire += new MyDelegate(OnFire);
Fire("Hello 1");
Fire -= new MyDelegate(OnFire);
Fire("Hello 2");
Fire -= new MyDelegate(OnFire);
Fire("Hello 3");
}
private static void OnFire(string msg)
{
Console.WriteLine("OnFire: {0}", msg);
}
}
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,发生了以下情况:
Fire("Hello 1"); 按预期产生了两条消息.Fire("Hello 2");制作了一条消息!new代表工作!Fire("Hello 3");扔了一个NullReferenceException.Fire为null …我在Flex中有一个画布,只能在垂直方向滚动,所以我按如下方式设置画布的属性:
verticalScrollPolicy="auto" horizontalScrollPolicy="off"
Run Code Online (Sandbox Code Playgroud)
这里的问题是垂直滚动条在出现时覆盖了内容 - 尽管有足够的水平空间.我原本预计内容大小会自动调整.
将垂直滚动策略设置为"on"时,也不会覆盖任何内容.
如果我将两个滚动策略都设置为'auto',我还会得到一个水平滚动条,只是滚动到垂直滚动条覆盖的区域.
当显示垂直滚动条以便它不覆盖任何内容时,是否有一种解决方法可以重新布局画布的内容?
我有一个 Java SOAP 数据服务,它位于 Sybase 数据库之上,由于我无法控制的原因,该数据库的性能不可靠。该数据库是供应商包的一部分,已由内部团队修改,大多数问题是由一天中某些时间的响应时间缓慢引起的。
SOAP 服务向计算网格提供数据,当我请求数据时,我需要响应时间既快又一致。该服务提供基本的CRUD功能,但读写比例约为100:1。
将自己与数据库不可靠的性能隔离开来并确保 SOAP 服务快速可靠的最佳策略是什么?
如何在Web服务的整个生命周期内使变量(对象)可用?
静态变量似乎工作,但还有另一种方法吗?
有没有人将Spring Integration项目作为嵌入式ESB 的经验?
我在这样的用例中非常有趣:
更新:
除了"从JDBC数据源获取数据"之外,我找到了所有问题的答案.技术上可行吗?
我有一个表单,其默认值描述了应该进入该字段的内容(替换标签).当用户聚焦字段时,会调用此函数:
function clear_input(element)
{
element.value = "";
element.onfocus = null;
}
Run Code Online (Sandbox Code Playgroud)
onfocus设置为null,这样如果用户在字段中放入某些内容并决定更改它,则不会删除它们的输入(因此它只会擦除一次).现在,如果用户移动到下一个字段而不输入任何数据,则使用此函数恢复默认值(称为onblur):
function restore_default(element)
{
if(element.value == '')
{
element.value = element.name.substring(0, 1).toUpperCase()
+ element.name.substring(1, element.name.length);
}
}
Run Code Online (Sandbox Code Playgroud)
事实上,默认值是元素的名称,因此我只是操纵了name属性而不是添加ID.问题是,如果它们跳过元素,则onfocus事件将使用clear_input无效,但之后永远不会恢复.
我补充道
element.onfocus = "javascript:clear_input(this);";
Run Code Online (Sandbox Code Playgroud)
在restore_default函数中,但不起作用.我该怎么做呢?
基于他们的工作,您如何区分出优秀的SQL开发人员?
示例可能包括:
很少使用CURSOR,并试图将它们重构.
很少使用临时表,并试图将它们重构.
可以放心地处理OUTER JOIN中的NULL值.
避免未广泛实现的SQL扩展.知道如何优雅地缩进.
是否有适用于PHP的强大而成熟的HTML解析器?快速浏览PEAR并没有改变任何东西(很多类用于生成HTML,而不是用于消费),Google教会了我很多人已经开始然后放弃了各种解析器项目.
对XML解析器不感兴趣(除非那时可以使用非格式良好的HTML)或者使用正则表达式自己攻击它.
澄清意图:我对HTML内容的过滤不感兴趣,我很有兴趣从HTML文档中提取信息.
哪两个更传播?我想从http://freshmeat.net/projects-xml/mysql/mysql.xml?branch_id=46519读出版本号,但我想使用更多人拥有的版本号.
如果您知道从mysql获取最新稳定版本号的另一种方法请告诉我;)