小编mfe*_*old的帖子

为什么在switch语句中返回yield后需要中断?

有人可以告诉我为什么编译器认为在以下代码break之后有必要yield return吗?

foreach (DesignerNode node in nodeProvider.GetNodes(span, node => node.NodeType != NDjango.Interfaces.NodeType.ParsingContext))
{
    switch (node.ErrorMessage.Severity)
    {
        case -1:
        case 0:
            continue;
        case 1:
            yield return new TagSpan<ErrorTag>(node.SnapshotSpan, new ErrorTag(PredefinedErrorTypeNames.Warning));
            break;
        default:
            yield return new TagSpan<ErrorTag>(node.SnapshotSpan, new ErrorTag(PredefinedErrorTypeNames.SyntaxError));
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# break switch-statement yield-return

24
推荐指数
2
解决办法
3628
查看次数

F#中的全局常量 - 如何

我需要通过几个相关项目设置要在AssemblyVersion属性中使用的版本号.

在C#中我使用以下内容

public class Constants {
    public const string Version = "1.2.3.4";
}
Run Code Online (Sandbox Code Playgroud)

然后它可以使用如下:

[assembly:AssemblyVersion(Constants.Version)]
Run Code Online (Sandbox Code Playgroud)

F#中的等价结构是什么.我试图提出一个可以作为属性参数接受的绑定的尝试都没有用.

f# constants c#-to-f#

21
推荐指数
2
解决办法
5434
查看次数

活动生命周期单元测试

在活动单元测试中,我如何模拟活动生命周期事件.

我可以在现有活动上调用instrumentation的callActivityOn ...方法,但是如何触发活动重新创建,以便活动的OnCreate获取具有已保存状态的bundle

android unit-testing

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

Selenium xpath选择器基于元素文本

对于以下html,selenium xpath选择器是什么:

<ul>
   <li>First</li>
   <li>Second</li>
   <li>Third</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我需要让Selenium IDE根据元素文本找到列表中的第二个项目.我认为//li='Second'会做到这一点,但显然它没有

selenium xpath selenium-webdriver

19
推荐指数
3
解决办法
7万
查看次数

角度 - 可重用的对话框

我需要构建一个对话框,用于项目列表中的任何项目.无论项目如何,对话框几乎都是相同的,除了显然依赖于项目的字段的值.

我正在构建的指令是从文件中读取模板,使用$ compile编译它,然后将其绑定(链接)到项目的范围.绑定的结果是DOM树.要使对话框可见,我需要将此树附加到现有DOM中的某个元素.我的对话框的性质使得将它直接附加到body标签是有意义的.该对话框将与列表中的不同项目结合使用多次

所以这是我的问题:这个过程(编译,绑定,追加)有多少可以提前完成?我当然可以运行一次编译.我还可以将编译结果绑定到$ rootscope并将其附加(隐藏)到body标签.这样我以后可以打开可见性并显示对话框.

但是如果它已经绑定并附加到DOM,那么它是否可以将其重新绑定到其他范围,如果是这样的话 - 这样做的正确方法是什么?另一个问题是它甚至值得吗?可能只是在每次需要时重新插入它?

angularjs angularjs-directive

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

HTML表单脱机工作

我需要能够脱机运行HTML表单.我的意思是他们必须在没有直接连接到Web服务器的情况下工作.

在我5年前写的应用程序中,我通过实现自定义协议处理程序来实现 - 当用户启动表单提交时,生成的HTTP请求被本地记录.稍后当与服务器的连接变得可用时,同步程序循环收集的请求并将它们提交给服务器收集响应并再次将它们保存在本地以供以后使用.

就在那时.现在,另一位客户向我提出了非常类似的请求.你认为我今天应该使用什么技术?

目前对HTML5的支持非常有限.谷歌齿轮?或者我应该返回并继续使用协议处理程序和自定义同步器?

html html5 offline

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

托管COM聚合

我理解构建聚合现有COM对象的COM对象意味着在外部对象的IUnknown.QueryInterface方法中实现重定向逻辑.

我的问题是如果你正在构建的对象被管理,该怎么做.在托管对象上,未明确实现IUnknown COM Interop为您完成.那么如何告诉COM Interop我构建的对象是另一个COM对象的聚合?

到目前为止,我找到的唯一方法是在外部实现内部对象的所有接口并显式重定向它们.这是a)丑陋和b)假设您知道要实现的所有接口,在我的情况下不是这种情况.

有什么想法吗?

.net com aggregation .net-3.5

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

COM互操作引用计数指南

最近我花了很多时间编写各种Visual Studio Extensions项目.即使项目都是访问核心VS服务的托管代码,仍然需要使用旧式COM接口.

这是一个例子:

var selectionTracker = (IVsMonitorSelection)serviceProvider.GetService(typeof(SVsShellMonitorSelection));
IntPtr ppHier;
uint pitemid;
IVsMultiItemSelect ppMIS;
IntPtr ppSC;
selectionTracker.GetCurrentSelection(out ppHier, out pitemid, out ppMIS, out ppSC)))
Run Code Online (Sandbox Code Playgroud)

你可以看到这个调用返回2个指针(ppHier和ppSC)和一个对象ppMIS.问题是:我应该如何使用COM引用计数来好好玩它.

我的理解是,在COM世界中,当一个方法返回一个指向对象的指针时,该指针在返回之前是AddRef'ed.这意味着为了防止COM对象泄漏,我必须在使用它们时释放它们.

我还假设我作为一个对象获得了它已经被包装到RCW中,它将在最终确定时负责引用释放.

应用于上述调用的这两个假设意味着我必须确保在我的2个指针上调用`Marshal.Release',但是对于返回的对象,我不应该对引用计数做任何事情.

重新解释一下我的问题:假设我使用的COM对象是按COM规则播放的,那么处理COM引用计数的方法是否正确?

com interop

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

outerHeight(true)不包含边距?

根据JQuery docs, outerHeight(true)函数返回元素的总高度,包括填充边框和边距.我遇到了这个承诺似乎被破坏的案例.这是一个复制品.

这是html:

outer div height = <span id="div-target"></span><br/>
ul height (including margins) = <span id="ul-target"></span><br/><br/>
<div show-height-in='div-target'>
    <ul show-height-in='ul-target'>here</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

和javascript:

var app = angular.module('application',[]);
app.directive('showHeightIn', function($log){
    return function(scope, element,attrs) {
        $('#' + attrs.showHeightIn).text($(element).outerHeight(true));
    }
});
angular.bootstrap(document, ['application']);
Run Code Online (Sandbox Code Playgroud)

在此示例中,<ul>元素使用默认样式,该样式添加16px顶部和底部边距.这会将<ul>的outerHeight带到52px.

现在,父<div>元素只显示20个外部的highHeight(true) - 它不包含任何边距.

关于SO的这个问题谈到了利润率的崩溃,我在一定程度上理解了解释.我的问题不是为什么不包括利润.

我的问题是如何确定渲染的div的高度.显然,在某些情况下,outerHeight(true)是不正确的.

@Gaby:改变元素风格并不是唯一的方法.您还可以在之前和之后添加0个高度块项.但我并不是在寻找防止利润率崩溃的方法.我正在寻找一种通用的方法来确定元素占据的总高度.我需要这个以避免限制我的ng-scroll指令的使用.

html jquery angularjs

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

Android Intent子类化

我使用意图作为我的Android应用程序的各个部分之间的通信的消息传递机制.

我的问题是:我可以将Intent子类化为构建我自己的类,或者当我在Broadcast接收器中获取它时它将是标准的Intent类吗?

我当然是在谈论内部流程沟通.但是跨线程.

android

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