我正在编写一个简单的包装器来"躲避" dynamic一个已知接口的对象:
interface IFoo { string Bar(int fred); }
class DuckFoo : IFoo
{
private readonly dynamic duck;
public DuckFoo(dynamic duck)
{
this.duck = duck;
}
public string Bar(int fred)
{
return duck.Bar(fred);
}
}
Run Code Online (Sandbox Code Playgroud)
如果dynamic对象可以响应Bar签名,这可以正常工作.但是,如果它不能只在我打电话时失败Bar.我希望它能否更快地失败,即在构造DuckFoo包装器时使用参数验证.像这样的东西:
public DuckFoo(dynamic duck)
{
if(/* duck has no matching Bar method */)
throw new ArgumentException("duck", "Bad dynamic object");
this.duck = duck;
}
Run Code Online (Sandbox Code Playgroud)
在Ruby中,有一种respond_to?方法可用于测试对象是否"具有"某种方法.有没有办法在C#4中使用动态对象进行测试?
(我知道即使使用此检查,Bar调用也可能在以后失败,因为它的动态特性duck让它稍后停止响应方法.)
我有一个Dictionary<>包含字符的集合.该集合具有多个线程不断添加和删除的项目.List<>使用字典初始化新集合需要锁吗?
示例代码:
List<Character> charsToUpdate = new List<Character>(this.manager.characters.Values);
Run Code Online (Sandbox Code Playgroud) 我是新来的Perl和很好奇是否@{$list_ref}和@$list_ref是完全等价的.
它们似乎是可以互换的,但我很紧张,有一些微妙的事情可能会让我失踪.
我想在桌面应用程序中使用Google地球.
我的问题是,您认为谷歌提供的这两个API中哪一个具有更多功能和/或最佳支持?
非常感谢你
我正在使用大型Perl应用程序,并且每次调用"die"时都希望获得堆栈跟踪.我知道Carp模块,但我不想用'confess'搜索/替换'die'的每个实例.另外,我想要Perl模块或Perl解释器本身的错误的完整堆栈跟踪,显然我不能改变使用Carp的那些.
那么,有没有办法在运行时修改'die'函数,使其表现得像'confess'?或者,是否有一个Perl解释器设置会从'die'中抛出完整的堆栈跟踪?
我正在开发非常基本的Web应用程序,这主要是因为我可以在途中学习jQuery/ajax/php(并且有一些乐趣).我希望尽可能让用户可以访问它,因此它应该禁用Javascript,验证AAA以及所有这些.随着JS被禁用,当然没有所有的花里胡哨,但仍然应该做的工作.
我想充分利用Ajax,但我不完全理解当JS关闭时应该如何应对.
因此,假设JS已打开,用户提交表单,单击提交按钮并通过ajax,数据将提交到register.php(register.php在表单操作属性中指定).register.php返回数据,jQuery显示相应的消息.全部没有重新加载页面.
现在,如果JS被禁用,向register.php提交表单将无济于事.
我理解它的方式,解决方案是为JS启用一个PHP脚本,其他为JS禁用.因此,默认情况下,表单将具有action属性nonjs_register.php,如果启用了JS,则会强制将表单提交到js_register.php而不是默认nonjs_register.php.我可以想象,为每个用户与应用程序的交互创建两个脚本页面会非常繁琐,但这是我现在能想到的唯一方法.
我希望所有这些都有意义,但如果我的解释不太清楚,请告诉我.现在,如果有人能够向我解释什么是处理那种很好的问题的常见做法.
如果服务器在使用Uploadify上传文件时返回错误(HTTP响应代码!= 200),则上传的文件将显示红色背景,并显示如下消息:
file.jpg (52.78KB) - HTTP Error
Run Code Online (Sandbox Code Playgroud)
表示存在HTTP错误.但这对用户来说并不是很有用.如何让它显示更详细的错误消息?喜欢:'不是有效图像'或'配额满'?
我在考虑在HTTP响应体中传递这些消息,但是Uploadify没有接收它们.有没有已知的方法将错误消息传递回Uploadify?
我保留了我认为在我的计算机上作为文本文件有用的代码示例.我将它们存储为txt文件而不是它们所用的语言,因此它们将在Notepad ++而不是编辑器中打开(即我不希望我的c ++示例在IDE中打开,只是在记事本中打开).
有没有办法让Notepad ++通过阅读文本文件中的特殊代码对文本文件应用适当的语法高亮?
例如,如果我有一些sql,文本文件的第一行可以这样读:
##Language=SQL
... my sql code properly highlighted as sql ...
Run Code Online (Sandbox Code Playgroud)
提前致谢.我意识到我可以在打开文件后选择语言(即语言> SQL),但如果能自动完成它会更方便.
需要正则表达式更改以下网址
abc.aspx?str=blue+lagoon&id=1234
Run Code Online (Sandbox Code Playgroud)
至
/blog/blue-lagoon/
Run Code Online (Sandbox Code Playgroud) 嘿大家,我只是想知道是否有人知道如何创建类似于Tweetie 2.0应用程序中的UITableviewCell滑动效果(请参阅视频:Tweetie 2.0)或Facebook 3.0应用程序(当按下旁边的蓝色"+"时状态).
我需要做的是让细胞滑动以响应您的滑动并显示背景视图.
任何帮助,将不胜感激!
c# ×3
perl ×2
.net ×1
ajax ×1
carp ×1
dereference ×1
dictionary ×1
dynamic ×1
google-earth ×1
iphone ×1
javascript ×1
list ×1
notepad++ ×1
regex ×1
uitableview ×1
uploadify ×1