小编mbx*_*mbx的帖子

C#:TypeDescriptor.GetAttributes()和GetType().GetCustomAttributes有什么区别?

拿这两个代码:

instance.GetType()
 .GetCustomAttributes(true)
 .Where(item => item is ValidationAttribute);
Run Code Online (Sandbox Code Playgroud)

TypeDescriptor.GetAttributes(instance)
 .OfType<ValidationAttribute>();
Run Code Online (Sandbox Code Playgroud)

如果这个类看起来像:

[RequiredIfOtherPropertyIsNotEmpty("State", "City", ErrorMessage = ErrorDescription.CreateAccount_CityRequiredWithState)]
[RequiredIfOtherPropertyIsNotEmpty("State", "Address1", ErrorMessage = ErrorDescription.CreateAccount_Address1RequiredWithState)]
public class ManagePostModel
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

RequiredIfOtherPropertyIsNotEmptya ValidationAttribute和a 在哪里AllowMultiple = true.

第一个返回两个属性,第二个返回一个.

导致这种情况的区别是什么?

c# attributes typedescriptor

13
推荐指数
1
解决办法
3544
查看次数

如何使用trec_eval评估搜索/检索引擎?

有没有使用TREC_EVAL的机构?我需要一个"Trec_EVAL for dummies".

我正在尝试评估一些搜索引擎来比较Recall-Precision,排名质量等参数,以便我的论文工作.我找不到如何使用TREC_EVAL向搜索引擎发送查询并获取可与TREC_EVAL一起使用的结果文件.

information-retrieval search-engine data-retrieval

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

如何强制Resharper将CLR类型名称用于自动生成的代码?

按照通用命名约定 CLR类型名称的使用(例如String, Int16)要优于语言的特定类型名称的使用(string,short).我通常会遵循这个建议.然而,Resharper似乎在生成代码时使用特定于语言的类型名称(重构方法,如extract方法,生成foreach循环等),这非常烦人.

如何强制Resharper使用CLR类型名称?

更新 由于许多人想知道为什么有人会强制使用Int32代替intString代替string使用的样式,意图是更好的语法高亮:int呈现为关键字,Int32呈现为类型.由于修改突出显示实现似乎有点过分,因此强制执行CLR类型只会完成工作.这是我们的风格指南的一部分原因之一.

.net c# vb.net resharper naming-conventions

13
推荐指数
2
解决办法
3067
查看次数

在FAKE中有多种构建文件结构的方法吗?

FAKE中,您通常有一个buildcript,如:

// "foo.fsx"
#r @"./packages/tools/FAKE/tools/FakeLib.dll"

open Fake

Target "Foo" (fun _ -> trace "Here I am, foo the size of a bar" )

Run "Foo"
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.现在假设你想要另一个名为"bar.fsx"的buildcript,

// "bar.fsx"
#r @"./packages/tools/FAKE/tools/FakeLib.dll"
#load "foo.fsx"

open Fake

Target "Bar" (fun _ -> trace "And you have me building software ..." )

Run "Bar"
Run Code Online (Sandbox Code Playgroud)

现在这是错误的.如果您尝试运行"bar.fsx",它将首先执行任务"Foo",即使我没有明确要求将其作为依赖项.这是因为该load指令运行foo.fsx脚本.

所以,我的问题是,如何导入foo.fsx文件,获取所有目标,但不执行说Run命令.或者更有趣的是,我真正想做的事情; 如何Target在FAKE中的脚本之间共享?

如果我将Target定义放入模块中,它就没有用,如下所示:

module FooTargets =
    Target "Foo" (fun _ -> trace "Here I am, …
Run Code Online (Sandbox Code Playgroud)

f# f#-fake f#-fake-4

12
推荐指数
2
解决办法
1509
查看次数

是否可以使用Qt从xsd生成C++类(没有XSD工具)?

我在一个xml文件中列出了几个数据集.我必须提取每个数据集并根据它们的值执行一些操作(不更改xml文件的内容).所以我必须解析该文件.

使用.Net Framework,我只需使用XSD工具生成匹配类,避免自己编写解析器.不幸的是,该项目必须使用Qt和mingw完成,我不确定是否有类似的工具.

是否可以(自动)从xsd生成c ++/qt类?

如果是:怎么样?

c++ xml qt xsd code-generation

9
推荐指数
1
解决办法
4532
查看次数

FAKE模式将目标构建顺序与依赖项分开

在VS中,Build(incremental)和Rebuild之间通常有区别,后者首先要清理,然后像Build一样.我能用FAKE提供类似的行为吗?

我们假设以下目标:

Target "Clean" DoNothing
Target "Work" DoNothing
Target "All" DoNothing

RunTargetOrDefault "All"
Run Code Online (Sandbox Code Playgroud)

通常我想运行所有这些,在工作前清洁,所以我最终得到:

"Clean" ==> "Work" ==> "All"
Run Code Online (Sandbox Code Playgroud)

但是,Work并不是真正依赖Clean - 只有两者都要运行时才能运行Clean.使用上面的依赖链,我无法运行Work而不首先运行Clean.是否有方法或共同模式来支持这一点?

到目前为止我考虑过的事情:

一个)

"Clean" ==> "All"
"Work" ==> "All"
Run Code Online (Sandbox Code Playgroud)

这正确地表示了All的依赖关系,但是在工作之前清理应该是的顺序 - 如果两者都运行 - 都缺失了.

B)

Target "WorkOnly" DoNothing
"WorkOnly" ==> "Work"
"Clean" ==> "Work" ==> "All"
Run Code Online (Sandbox Code Playgroud)

这有点接近,但它仍然无法保证在WorkOnly之前构建All that Clean将运行

C)

Target "Start" DoNothing
"Start"
  =?> ("Clean", not (hasBuildParam "noclean"))
  ==> "Work"
  ==> "All"
Run Code Online (Sandbox Code Playgroud)

这样,除非我指定"noclean"作为参数,否则Clean将始终运行.这似乎完全支持我的场景,实际上非常灵活,但如果有多个可选阶段,可能会有点复杂.

这是预期的方式以及其他人如何做到这一点,还是我错过了一些明显的东西?

f#-fake f#-fake-4

9
推荐指数
2
解决办法
1308
查看次数

假:如何定义MSBuild属性?

我想从MSBuild切换到FAKE.在我的MSBuild脚本中,我通过调用具有DeployOnBuild = True和DeployTarget = Package属性的MSBuild来创建Webdeploy包.这将触发webdeploy在构建运行时生成部署包:

<MSBuild Projects="@(ItemToBuild)"
         Targets="Build"
         Properties="Configuration=$(Configuration);
                     Platform=$(Platform);
                     DeployOnBuild=True;
                     DeployTarget=Package;
                     OutFolder=$(OutFolder)" />
Run Code Online (Sandbox Code Playgroud)

我怎么能用FAKE做同样的事情?我走到这一步:

Target "Build" (fun _ ->
    !! solutionFile
    |> MSBuildRelease binDir "Build"
    |> Log "Build-Output: "
)
Run Code Online (Sandbox Code Playgroud)

如何指定所需的属性?

f# f#-fake f#-fake-4

9
推荐指数
1
解决办法
1315
查看次数

矢量时钟的实现

对于在不同设备上运行的代码,我需要确定在这些设备之间发送的消息的顺序.因此,我想使用矢量时钟,因为我读取矢量时钟允许事件的排序.

我可以使用任何已建立的框架/公共API吗?或参考实现=或者我是否必须从头开始编码?

感谢您的任何参考和提示

java frameworks reference-implementation vector-clock

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

断言.NET类型

有没有办法断言变量是否属于某种类型?

如:

AssertIsBoolean(variable);
Run Code Online (Sandbox Code Playgroud)

.net unit-testing assert mstest

8
推荐指数
1
解决办法
3471
查看次数

红宝石中的叉子和线程

我在一台带有两个处理器的机器上运行一个程序,当我做一个fork时,孩子被创建为本机线程,或者它就像一个绿色线程/协同程序.孩子与父母同时运行还是只是平行?

ruby multithreading fork

8
推荐指数
2
解决办法
3940
查看次数