似乎"if x"对于较长的"if x is not None"语法几乎就像是短手.它们在功能上是否相同,或者在某些情况下,对于给定的x值,两者的评估方式不同?
我认为这些行为在Python实现中也应该是相同的 - 但如果存在细微差别,那么知道它会很棒.
Windows 7具有一项非常棒的新功能,应用程序可以通过状态栏报告当前活动的进度.例如,使用Windows资源管理器复制文件时,任务栏中的应用程序图标顶部会显示一个进度条,并在更新时显示进度.
用于公开进度条的API是什么?是否有MSDN文档?
我不确定这是否可能,但我希望找到一条线索,以确定当前正在执行的代码是否在IIS Express下运行.到目前为止,我的最佳近似值,令人难以置信的hackish,肯定会在某些时候失败/突破:
bool IsExpress =
Request.ServerVariables["SERVER_SOFTWARE"] == "Microsoft-IIS/7.5"
&& Int32.Parse(Request.ServerVariables["INSTANCE_ID"]) > 1000000000;
Run Code Online (Sandbox Code Playgroud)
当然必须有更好的方法.我对Application,Server和Request对象的检查似乎没有揭示可能提供更好洞察力的任何内容.也许我只需要看一些其他对象?
更新:
如果有一种方法可以检测到这一点,我真的很好奇 - 在这一点上它确实是学术性的,我没有迫切需要使用它.最初的问题就是.但本着回应评论的精神,特别是我有兴趣回答本网站上另一个问题/答案的批评:如何搜索服务器的MIME地图.批评是,发布的答案不适用于IIS Express,只适用于传统的IIS实例.IIS Express将MIME配置存储在applicationhost.config XML文件中,我想更新该答案,以便为IIS Express提供返回该信息的方法.我当然可以添加一些从XML中获取适当值的代码(Yay for LINQ to XML!)但我真的想让它变得更聪明.为了清楚起见,我不需要帮助解析该文件 - 只是尝试检测代码当前是否在IIS Express引擎中执行时更优雅.
更新2:
IIS 8.0 Express Beta 本周发布,它进一步表明我的问题中的方法很脆弱并且会破坏.虽然它不是针对特定版本的交易破坏者,但考虑到这一点并尝试确保代码至少与今天的已知版本一起使用将会很好.
我导入了这个kernel32库.所以,我有createMutex可用的功能,但我不太确定各种参数和返回值.
这是经典的Visual Basic,而不是Visual Basic.NET,但我可能会以答案的形式使用这两种语言.
我看到PowerShell的一些相当奇怪的行为,看起来自定义函数可能需要一个"括号包装器"来评估你可能期望它们.给定一个简单的PowerShell函数:
function Return-True { return $true }
Run Code Online (Sandbox Code Playgroud)
然后一些示例代码来调用它:
PS C:\> Return-True
True
PS C:\> Return-True -eq $false
True
PS C:\> (Return-True) -eq $false
False
Run Code Online (Sandbox Code Playgroud)
想法?评论?
我们即将对SharePoint进行相当大的自定义,我想在双脚跳入之前获得一些反馈.我们正在努力解决的问题之一就是我们将jQuery javascript库直接部署到12个hive(使其在每个站点的_layouts中可用)或者我们将其包装在一个功能中并为每个功能激活该功能现场?我还看到CodePlex上的两个项目将其包含在功能中,这可能是我猜的第三个选项.
思考?
我正在阅读有关cookie和其他相关客户端存储选项的内容,并阅读有关使用window.name作为排序的数据缓存:
http://en.wikipedia.org/wiki/HTTP_cookie#window.name
虽然它肯定会让事情变得不那么令人满意 - 而且我不会给它涂上糖衣,但它绝对是最真实意义上的黑客 - 看起来很有希望.我需要存储大约10K的JSON作为客户端缓存,现在我将其与页面一起发送,当我读到它时,它似乎真的符合我的需求并减少流量.
我很想知道是否有人实施了这一点,以及你可能给出的建议.陷阱?建议?浏览器之间的差异?某种用例会非常糟糕吗?
优点
缺点
备择方案
我试图围绕类,数据可见性和闭包(特别是在Javascript)的想法,我在类型的jQuery文档页面上,它提到闭包用于隐藏数据:
该模式允许您使用方法创建对象,这些方法对外部不可见的数据进行操作 - 这是面向对象编程的基础.
这个例子:
function create() {
var counter = 0;
return {
increment: function() {
counter++;
},
print: function() {
console.log(counter);
}
}
}
var c = create();
c.increment();
c.print(); // 1
Run Code Online (Sandbox Code Playgroud)
通过使用关键字var声明变量计数器,它已经在函数/类定义中本地作用域.据我所知并且可以说,从外面开始无法访问.我是否从数据可见性角度遗漏了一些东西.
其次,如上所述编写课程有一个优势,如下所示:
function create() {
var counter = 0;
this.increment = function() {
counter++;
}
this.print = function() {
console.log(counter);
}
return this;
}
var c = create();
c.increment();
c.print(); // 1
Run Code Online (Sandbox Code Playgroud)
据我所知,这些或多或少在语义上是相同的 - 第一个是更多的"jQuery风格".我只是想知道从第一个例子中我是否有一个优势或其他细微差别.如果我是正确的,两个示例都会创建闭包,因为它们访问在自己的范围之外声明的数据.
我猜这个网站上的大多数人都熟悉尾部,如果没有 - 它提供了一种"跟随"模式,当文本附加到文件尾部时会将这些字符转储到终端.
我正在寻找(并可能在必要时写自己)是一个适用于二进制文件的尾部版本.基本上我有一个无线链接,我想通过另一个网络链接来涓流文件.查看尾部源代码,重写起来并不难,但我宁愿不重新发明轮子!这不是严格意义上的"尾部",因为我希望整个文件被复制,但它会在新的字节被添加并流式传输时观察.
想法?
为什么dynamic对象在反射时不能在NameTranslate COM对象上调用这些方法?
使用动态的失败示例:
Type ntt = Type.GetTypeFromProgID("NameTranslate");
dynamic nto = Activator.CreateInstance(ntt);
nto.Init(3,null)
Run Code Online (Sandbox Code Playgroud)
第三行因NotImplementedException而失败,并且消息未实现方法或操作.
使用不同COM对象(WScript.Shell和SendKeys)的类似尝试:
Type shellType = Type.GetTypeFromProgID("WScript.Shell");
dynamic shell = Activator.CreateInstance(shellType);
shell.SendKeys("abc");
Run Code Online (Sandbox Code Playgroud)
回到第一个样本.如果我使用反射并使用InvokeMethod方法调用方法,一切正常.
使用反射的工作示例:
Type ntt = Type.GetTypeFromProgID("NameTranslate");
object nto = Activator.CreateInstance(ntt);
object[] initParams = new object[]{3,null};
ntt.InvokeMember("Init", BindingFlags.InvokeMethod, null, nto, initParams);
Run Code Online (Sandbox Code Playgroud)
我相信这必须与如何创建或标记COM对象有关 - 但是对于我的生活,我在文档,对象浏览器或注册表中看不到任何指示这些COM对象及其子/函数被标记的内容私有或其他通常会抛弃dynamic关键字的东西.
MSDN上的NameTranslate文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa706046.aspx
c# ×3
javascript ×2
jquery ×2
.net ×1
boolean ×1
browser ×1
c ×1
c++ ×1
closures ×1
com ×1
dynamic ×1
iis ×1
iis-express ×1
json ×1
powershell ×1
python ×1
reflection ×1
sharepoint ×1
tail ×1
vb6 ×1
windows-7 ×1