小编Ger*_*ima的帖子

使用条件(三元)运算符分配lambda表达式

我试图使用条件(三元)运算符为变量分配正确的lambda表达式,具体取决于条件,但我得到编译器错误:无法确定条件表达式的类型,因为'lambda表达式之间没有隐式转换'和'lambda表达'.我可以使用常规的if-else来解决这个问题,但是条件运算符对我来说更有意义(在这个上下文中),会使代码更简洁添加,至少,我想知道为什么它没有'工作.

// this code compiles, but is ugly! :)
Action<int> hh;
if (1 == 2) hh = (int n) => Console.WriteLine("nope {0}", n);
else hh = (int n) => Console.WriteLine("nun {0}", n);

// this does not compile
Action<int> ff = (1 == 2)
  ? (int n) => Console.WriteLine("nope {0}", n)
  : (int n) => Console.WriteLine("nun {0}", n);
Run Code Online (Sandbox Code Playgroud)

c# lambda

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

SQL报告 - 多页EMF报告问题

我希望任何人都可以帮助解决这个问题.许多人都认为这个问题很简单,因为在SQL2008 R2和SQL2012中,以编程方式呈现EMF格式报告不起作用.

这是通过MS连接在这里记录的:https://connect.microsoft.com/SQLServer/feedback/details/560911/sql-2008-r2-reportexecutionservice2005-broken-with-image-emf#tabs

总之,当调用ReportExecutionService对象的Render方法时,它会返回第一页以及流ID的数组(通过输出参数)以映射后续页面.然后,在该流上为每个后续页面调用RenderStream方法.在2008年的R2/2012中,流ID的数组空回来意味着你只能获得第一页 - 这使它变得毫无用处.

我很高兴看到MS发布了2012修补程序的修补程序:http://support.microsoft.com/kb/2637802

但是,安装修补程序/重启/等后,我仍然有问题.有没有人得到这个修补程序工作?有同样的经历吗?知道大型报告的可行解决方案吗?

谢谢你的帮助.史蒂夫

.net sql-server-2008 sql-server-2008-r2 reporting-services sql-server-2012

7
推荐指数
1
解决办法
1167
查看次数

迁移gulp进程以包含typescript

我正在更新Angular 1.5.8应用程序的构建过程,以允许在Typescript上进行开发.

在使用Grunt过度复杂的经验之后,当前的构建过程很简单,只使用GulpBrowserify来构建两个包:my-lib.jsmy-app.js.这样,库比我的应用程序代码更大但更稳定,不需要经常编译,应用程序域代码的编译只需要0.1秒.我很高兴 - 以及其他开发人员.

现在我们期待迁移到Angular 2.0并希望在Typescript中开始开发,但我不确定如何将它集成到构建过程中,甚至是如何实现它的最佳方法:是否应该优先使用tsc只是将Typescript编译成Javascript并让Browserify处理依赖项?或者我应该使用它tsc作为我的主要构建工具并让它解决依赖关系,创建映射文件并制作捆绑包?

无论打字稿和咕嘟咕嘟的发展非常快,我不能为自己的单证(此使用发现文档1,2).我很感激有经验的人员的反馈,他们也在研究这些技术的最新版本.

angularjs typescript tsc gulp typescript2.0

7
推荐指数
2
解决办法
519
查看次数

如何在C中设计静态库的接口

虽然我不是C语言的经验丰富的程序员,但我必须在工作中使用这种语言来构建一个静态库,它可以在SunOS和Win32上编译.这个库只有几个源文件及其相应的头文件(让我们说:a.c,b.c,a.hb.h).项目在两个平台中编译,并mylib.a生成库.

我的问题是如何将实现的函数暴露mylib.a给其他项目,因为当我添加两者时a.h,b.h我得到一些宏重定义错误.

编辑:我发现宏重新定义错误是因为编译命令中的宏定义(与我的标题无关)并且它已经解决了:)但我仍然希望组织我的源文件和头文件.

我怀疑的是我是否修改a.hb.h在外部使用,或者我是否应该专门创建一个头文件来声明这个库的接口(让我们说mylib.h).我不想过度复杂化原始标题,但我不想让同一个标题保持同步...我想听听更有经验的C程序员关于他们的模式,每种方法的优点以及是否还有其他方法选项.

先感谢您.

编辑:似乎我没有提供足够的信息; 下面的模式试图显示我的文件是如何组织的:每个代码文件只包含其标题,每个标题都有一个保护条件,每个标题包含一个公共标题,这个公共标题包括所有标题.

// a.c ----
#include "a.h"

// b.c ----
#include "b.h"

// a.h ----
#ifndef GUARD_A_H
#define GUARD_A_H
  # include "liball.h"
  void function_prototypes_implemented_in_a();
#endif // GUARD_A_H

// b.h ----
#ifndef GUARD_B_H
#define GUARD_B_H
  # include "liball.h"
  void function_prototypes_implemented_in_b();
#endif // GUARD_B_H

// liball.h ----
#ifndef GUARD_LIBALL_H
#define GUARD_LIBALL_H
  # include <time.h>   // …
Run Code Online (Sandbox Code Playgroud)

c static-libraries library-design static-linking

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