问题列表 - 第43930页

启发式"this"和闭包好吗?(表达树)

考虑以下表达式:

class A {
    int x;
    public void Method(int y) {
        Expression<Func<bool>> expr=() => x == y;
        //...
Run Code Online (Sandbox Code Playgroud)

这里,表达式涉及一个自动创建的闭包y,以及(隐式)this类型的引用.两者都将被表示为在表达式树中.给定一个表达式,例如带有此引用和/或闭包的更复杂的表达式,我想要识别特定实际上是"this"或隐式构造的闭包,以便能够从表达式树(ExpressionToCode)重新生成C#.Athis.xMemberExpressionConstantExpressionexprConstantExpression

我使用一些启发式方法构建了一个"解决方案",因为似乎没有一个完美的解决方案.

  • 闭包和thislambda总是在ConstantExpressions.
  • 关闭,this永远不会null.
  • 两者都是类,而不是值类型 - 您无法this从结构中捕获引用.这是相当幸运的,因为讲default(StructType).Method()this.Method(),否则是不可能的,每当this == default(StructType).
  • 内置类型(字符串,枚举,十进制,类型,所有基元)实际上是实常数,不是this或闭包
  • 闭包和匿名类型以&开头<并注释CompilerGeneratedAttribute
    • 闭包名称包含字符串DisplayClass,匿名类型包含AnonymousType
    • 匿名类型是通用的,闭包不是.
    • 闭包是嵌套类,而匿名类型则不是.
  • this必须是正常类型:不是CompilerGenerated也不是以<

以上启发式方法是否足以区分实常数this,闭包和匿名类型?即有这些启发式失败的情况,或者我错过了什么?这可能会在未来的.NET版本中破裂吗?

编辑: …

.net linq expression-trees

6
推荐指数
1
解决办法
465
查看次数

使用Delphi数据感知组件 - 优点和缺点

我想知道您对在项目中使用数据感知组件的看法.通过使用Delphi和数据感知组件(来自Delphi的标准套件或第三方),开发应用程序(win32和web)的"优势"和"弱点"是什么?

使用FireBird我已经使用了IBObjects,它是一个成熟的组件套件并且运行良好.

但是还有很多其他RDBMS(MySQL,MSSQL,DB2,Oracle,SQLite,Nexus,Paradox,Interbase,FireBird等).如果您已经开发了大型项目,您已经使用了大量数据感知组件,请回答数据库类型和数据感知组件套件名称.

我也对DB2(AS400)感兴趣.您成功使用了哪些组件,或哪些组件真的很难用?

delphi oracle firebird data-aware ibm-midrange

17
推荐指数
4
解决办法
2989
查看次数

如何设置USB连接模式?

我正在编写一个应用程序,它应该将数据转储到 SD 卡上,然后在 PC 上编写另一个应用程序,当设备连接到 PC 时(在磁盘驱动器模式下),它应该读取数据。在我的 HTC Legend 上有一个对话框可供选择:仅充电、HTC 同步、磁盘驱动器..

是否有可能设置设备连接到电脑的模式或至少是要求用户切换模式的意图?

usb android connectivity

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

Qt内部的文档和用于构建它的设计模式在哪里?

请指出文档以了解Qt的内部结构,例如QObject类的设计,为Qt类选择的模式.使用QVariant类等的原因尽管Qt附带了非常好的文档和示例,但它们主要解释了如何使用它们而不是为什么这样做.

qt

10
推荐指数
1
解决办法
508
查看次数

我可以在Django QuerySet中执行自定义复杂组吗?

我需要按日期和月份对某个列进行总和.在SQL(postgres)中,它看起来像这样:

select sum(amount) from somewhere group by extract(year from date), extract(month from date)
Run Code Online (Sandbox Code Playgroud)

这可以表达为Django QuerySet吗?对我来说似乎不能,但我真的不想诉诸普通的旧SQL.欢迎任何其他想法.

似乎可能有可能使用queryset.query.group_by,但我没有任何运气 - 一个工作的例子将是受欢迎的.

python django django-queryset

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

为什么我的Javascript返回[object HTMLScriptElement]而不是预期的文本?

我有类似的问题

无法使用书签运行外部JavaScript.

但我正在Java应用程序中执行我的JavaScript,通过将脚本标头注入到通过Java应用程序加载的当前DOM中.

这个问题似乎是随机发生的.有些情况下它返回[object HTMLScriptElement],其他时候返回文本......

当我alert()对象时,它返回文本!

我试过return String(hi);但仍然没有效果.

function returnsomeText(){
    var hi = someArray.join(':');
    alert(hi); //returns text:text:text:text as expected.
    return hi; //returns [object HTMLScriptElement]
}
Run Code Online (Sandbox Code Playgroud)

我很困惑因为导致这个问题的原因!如果JavaScript返回,[object HTMLScriptElement]那么我的Java应用程序无法处理文本.

这个问题在这里更详细:

尝试执行Javascript时线程"AWT-EventQueue-0"中的异常java.lang.NullPointerException

javascript java

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

QualityToolsPackage无法在构建中加载?

我正在使用Bamboo [来自Altassian],它使用devenv.com构建器来构建解决方案文件.目前,我似乎在我的构建中遇到了"错误"错误 - 我试图自己解决但是却不能 - 所以我想我会问.

每个构建正常成功 - 没有源自代码的错误 - 但似乎反而给出了这个错误

包'Microsoft.VisualStudio.TestTools.TestCaseManagement.QualityToolsPackage,Microsoft.VisualStudio.QualityTools.TestCaseManagement,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'无法加载.

我不知道为什么这会导致devenv.com环境出现问题,我无法弄清楚如何通过某些构建命令"忽略"此错误?

build bamboo visual-studio devenv

35
推荐指数
1
解决办法
3488
查看次数

记录perl代码真的没有比POD更好的方法吗?

我很长一段时间都是Perl程序员,但我在POD中的文档总是有问题.

当我在代码中使用POD注释时,代码很难阅读.当我在文件末尾使用POD注释时,存在文档与代码不同步的危险.

我想念一个类似于Java的文档样式.

/**
 * @description
 * ...
 */
Run Code Online (Sandbox Code Playgroud)

我寻找更简单,更直观的文档样式.有这样的事吗?

perl perldoc pod

14
推荐指数
3
解决办法
1594
查看次数

在iPhone上禁用表单字段的预测文本

是否有一个属性可以为一个<input>元素指定哪个属性可以关闭这个给定字段的预测文本功能?

顺便说一句

<input type="text" predictive="disabled" />
Run Code Online (Sandbox Code Playgroud)

html forms iphone

5
推荐指数
3
解决办法
5236
查看次数

如何用&nbsp;替换标签 用PHP?

在我的数据库中,我有以下文字:

for x in values:
   print x
Run Code Online (Sandbox Code Playgroud)

我想在我的HTML页面上打印此代码.它由PHP打印到HTML文件中.但是当浏览器显示HTML时,我当然看不到这种形式的文本.我看到以下内容:

for x in values: print x
Run Code Online (Sandbox Code Playgroud)

我部分解决了这个问题nl2br,我也用了str_replace(' ','&nbsp',$str).结果我得到了:

for x in values:
print x
Run Code Online (Sandbox Code Playgroud)

但我仍然需要print x向右移动.我以为我可以通过解决问题str_replace('\t','&nbsp;&nbsp;&nbsp;',$str).但我发现str_replace在打印之前没有将空格识别为'\ t'.这个空间也不被认为只是一个空间.换句话说,我&nbsp;之前没有得到任何print.

为什么?问题怎么解决?

html php str-replace nl2br

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