小编cdm*_*kay的帖子

ReSharper红色强调VS 2010中的类型推断

我在VS 2010中遇到了一个奇怪的错误.我有一个项目设置为使用.NET Framework 4.当我输入代码时:

var record = ...;

// returns IEnumerable<Staff>
var staff = new StaffRepository().GetAll(); 

// The method has two signatures:
// CreateSelectList(IEnumerable<object> enumerable, string value)
// CreateSelectList(IDictionary<object, object> enumerable, string value)
StaffList = SelectListHelper.CreateSelectList(staff, record.Staff);
Run Code Online (Sandbox Code Playgroud)

CreateSelectList基本上采用可枚举的对象,使用它们将它们转换为字符串ToString(),然后自动选择传递的字符串.

问题是,此代码在VS 2010中出现红色下划线,并显示错误,表示无法解析该方法.

但是,如果我更改代码以明确说出类型:

IEnumerable<Staff> staff = new StaffRepository().GetAll();
StaffList = SelectListHelper.CreateSelectList(staff, record.Staff);
Run Code Online (Sandbox Code Playgroud)

VS 2010不再给出错误.我对泛型的理解是这两个代码片段应该与编译器相同,那为什么它给我一个错误下划线?

也:

这也将解决问题:

var staff = new StaffRepository().GetAll();
StaffList = SelectListHelper.CreateSelectList(from s in staff select s, record.Staff);
Run Code Online (Sandbox Code Playgroud)

ReSharper的:

我试过删除我的_ReSharper目录,但没有运气.我仍然得到下划线.但是,如果我暂停(即关闭)ReSharper,红色下划线就会消失,因此它肯定是由ReSharper引起的.

码:

根据要求,这是代码.

这是StaffRepository:

namespace Foo.Client.Business.Repositories …
Run Code Online (Sandbox Code Playgroud)

c# resharper type-inference visual-studio-2010

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

在树中查找子树的简便方法

我正在编写一些使用树的代码(常规树可以拥有无​​限数量的节点,但没有交叉,即两个父节点不会指向同一个子节点).无论如何,有两件事:

1)是否有任何众所周知的算法用于在树中查找子树.

2)是否有任何已实现此算法的Java库(或任何库)?即使没有,任何人都可以推荐任何好的通用Java树库吗?

我想使用这些树来保存树格式的数据,而不是它们的搜索功能.

稍微扩展一点:我正在使用树作为游戏的一部分来记录某些事件发生时会发生什么.例如,A可以击中B,可以击中两个A,可以击中另外两个A等.

这看起来像是这样的:

    A
    |
    B
   /
  A 
 / \  
A   A
   / \
  A   A
Run Code Online (Sandbox Code Playgroud)

当然,不仅仅是A和B.我想要做的是(对于一个成就系统)能够告诉他们什么时候,说A已经击中了两个A:

  A
 / \
A   A
Run Code Online (Sandbox Code Playgroud)

我希望能够轻松地知道第一棵树是否包含该子树.如果我不需要:)我不想编写所有代码

java algorithm tree

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

Cruise Control.Net最佳实践

我将用CC.NET实现CI过程,所以我正在寻找CC.net实现的最佳实践.

我使用SVN作为源代码控制,使用JIRA作为问题跟踪器(如果它是一个有用的提示).

任何建议或文章建议将不胜感激.

注意:我读过Martin Fowler的这篇文章.

svn cruisecontrol.net continuous-integration

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

如何更改 Android 手机上的蓝牙设备类别?

通过蓝牙连接时,是否可以让 Android 手机显示为不属于 Phone 设备类?例如,假设我想假装我的手机是另一个设备的蓝牙键盘。

我一直在寻找蓝牙 API,但无论如何我都看不到要改变它。

android bluetooth

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

jQuery为图像标记创建了不正确的元素

我一直在使用jQuery创建HTML元素,然后将它们添加到XML文档中,如下所示:

var doc = $($.parseXML('<?xml version="1.0" encoding="UTF-8"?><root/>'));
var docRoot = doc.find("root");
var childEl = $("<child>");
docRoot.append(childEl);
var imageEl = $("<image>");
docRoot.append(imageEl);

var xmlString = doc.context.xml || 
                new XMLSerializer().serializeToString(doc.context);
$("#xml").text(xmlString);
Run Code Online (Sandbox Code Playgroud)

这是输出(在Chrome 24上):

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <child xmlns="http://www.w3.org/1999/xhtml"></child>
  <img xmlns="http://www.w3.org/1999/xhtml" />
</root>
Run Code Online (Sandbox Code Playgroud)

这是JSFiddle链接.不幸的是,我有两个问题.

  1. 当我尝试创建一个名称相似的元素时child,它正确地创建了一个带有tagName的元素child.但是,如果我使用该名称image,由于某种原因,jQuery认为我想创建一个img元素.如何阻止jQuery这样做?

  2. 所有子元素都会xmlns="http://www.w3.org/1999/xhtml"自动添加属性,即使我生成的文档不是XHTML文档.我如何阻止这种情况发生?

更新:

图像tagName问题似乎是DOM的问题,而不是jQuery,因为此代码演示:

var el = document.createElement("image");
$("#output").append(el.tagName); // Outputs "IMG"
Run Code Online (Sandbox Code Playgroud)

javascript xml jquery

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

使用两个具有相同命名空间的.NET库

我目前正在为公司维护一些旧代码.正如它会发生的那样,我正在修改的当前应用程序使用旧版本的内部库(我们称之为Lib1.dll).他们还有一个名为Lib2.dll的新版本库,它以多种方式改进了以前的库.

不幸的是,Lib2并不向后兼容Lib1.更糟糕的是,它们都使用相同的命名空间Product.Common.

如何在同一个项目中使用Lib2和Lib1?现在,如果我添加对它们的引用,VS告诉我某些类是不明确的(这是有道理的,因为它们使用相同的命名空间).

基本上,我需要这样的东西:

Imports Lib1:Product.Common.Class
Run Code Online (Sandbox Code Playgroud)

我正在使用VB.NET 1.1.

.net c# vb.net dll

4
推荐指数
2
解决办法
6664
查看次数

C#库的可选日志依赖性?

我一直在使用C#中的库,并希望提供自动记录所有异常的功能.理想情况下,我希望它使用log4net,从而允许客户端配置他们喜欢的日志(即他们可以将其重定向到EventLog或数据库或者你有什么).

但是,如果他们选择不使用日志记录功能,我希望避免使用日志记录依赖项.这可行吗?

换句话说,有没有办法我可以选择具有log4net依赖关系,具体取决于客户端在配置文件中设置的内容?

.net c# logging log4net

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

来自包含页面的PHP die()不会从主页面死亡

有没有办法使用该die()函数停止在另一个页面上包含的页面上执行PHP语句,但是在包含该die()函数的文件的页面上继续执行PHP语句?

php

4
推荐指数
2
解决办法
1459
查看次数

从反射的Java类实例中获取ClassTag

是否有可能ClassTagClass通过反射获得的Java 实例中获取信息?

这是情况.我有一个case class看起来像这样的Scala :

case class Relation[M : ClassTag](id: UUID, 
                                  model: Option[M] = None)
Run Code Online (Sandbox Code Playgroud)

它是这样使用的(虽然有更多的类相互关联):

case class Organization(name: String)

case class Person(firstName: String, 
                  lastName: String,
                  organization: Relation[Organization])
Run Code Online (Sandbox Code Playgroud)

我想要做的是以编程方式使用如下所示的东西构建这些关系的树:

private def generateFieldMap(clazz: Class[_]): Map[String, Class[_]] = {
    clazz.getDeclaredFields.foldLeft(Map.empty[String, Class[_]])((map, field) => {
        map + (field.getName -> field.getType)
    })
}

private def getRelationModelClass[M : ClassTag](relationClass: Class[_ <: Relation[M]]): Class[_] = {
    classTag[M].runtimeClass
}

def treeOf[M: ClassTag](relations: List[String]): Map[String, Any] = {
    val normalizedRelations = ModelHelper.normalize(relations) …
Run Code Online (Sandbox Code Playgroud)

java reflection scala

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

节点 postgres 和获取具有重复名称的连接字段

我正在编写一个 node.js 应用程序,它使用 pg 包来访问 PostgreSQL 数据库。我遇到的问题是,如果我执行如下查询:

select * from posts p inner join blogs b on b.id = p.blog_id
Run Code Online (Sandbox Code Playgroud)

当我获得结果时,它们都位于同一名称空间中,因此 blogs 表中重复的任何字段都会覆盖 posts 表中的字段。

我的问题是,将这些结果绑定到对象的最佳方法是什么?

理想情况下,我想要这样的结果:

{
   id: 1,
   name: 'A post name',
   published_at: (some date object),
   blog_id: 1,
   b: {
       id: 1,
       name: 'A blog name'
   }
}
Run Code Online (Sandbox Code Playgroud)

但我愿意接受任何方便的解决方案,除非手动为每列添加别名。

javascript postgresql json node.js

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