标签: code-generation

我可以使用System.Linq.Expressions动态生成异步方法吗?

我知道编译器无法将异步lambda表达式转换为表达式树,但是可以手动生成表达式树吗?

var expr = Expression.Lambda<Func<Task>>(
     // how do I use 'await' in the body here?
);
var func = expr.Compile();
Run Code Online (Sandbox Code Playgroud)

我找不到相关的任何方法async或await在Expression类,但也许有另一种方式?

c# linq code-generation expression-trees async-await

18
推荐指数
1
解决办法
1977
查看次数

将属性与.net中的代码生成属性相关联

我希望在.NET中的公共属性上设置一个属性,但是我无法访问explicit属性本身,因为这是在另一个文件中生成的代码.

我有这个领域:

public virtual string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我希望这样:

[ValidateNonEmpty("Name is required", ExecutionOrder = 1)]
public virtual string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的类被标记为部分,但您不能拥有部分属性.我以为我正在使用MetadataType类,这是动态数据和数据注释的一个新功能,但我觉得它只能用于动态数据,这是真的吗?

引文:http : //blogs.oosterkamp.nl/blogs/jowen/archive/2008/10/16/metadatatype-attribute.aspx http://blogs.msdn.com/davidebb/archive/2008/06/16/dynamic -data-和最相关的元数据,class.aspx

有没有办法我可以设置这个属性(即使通过web.config!)而不触及代码生成的类?

提前谢谢,格雷厄姆

.net attributes code-generation

17
推荐指数
2
解决办法
4406
查看次数

是否有用于生成HTML的Emacs Lisp库?

我正在寻找一种解决方案,允许我编写本机Emacs Lisp代码,并在编译时将其转换为HTML,如Franz的htmlgen:

(html
 ((:div class "post")
  (:h1 "Title")
  (:p "Hello, World!")))
Run Code Online (Sandbox Code Playgroud)

当然我可以编写自己的宏,但是如果有任何关于这个问题的项目我很感兴趣.

html macros code-generation elisp

17
推荐指数
2
解决办法
1457
查看次数

T4获取解决方案的当前工作目录

我在Visual Studio 2010中使用T4,我想在我的解决方案中迭代文件,但是我发现T4源代码生成在一种沙箱中,当前工作目录在Visual Studio 10目录中在程序文件中.

有没有办法相对地引用T4文件的解决方案,以便它不会破坏构建,或者在没有相同文件结构的其他人的框中工作?

谢谢

c# t4 code-generation visual-studio

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

Java有Coffeescript吗?换句话说,X被编译为Java

是否有一种语言可以编译为Java代码(不是字节代码而是Java ..所以没有Groovy,Scala,Jython,JRuby等)?

换句话说,有一个CoffeeScript for Java?

我对Java的一个主要缺点就是它非常冗长,并且它没有多重继承.似乎可以合理地通过代码生成来清理语法add mixins/traits和closures.

是的它不优雅,但coffeescript做到了.

java compiler-construction code-generation coffeescript

17
推荐指数
1
解决办法
3555
查看次数

在编译的类中没有反射的序列化

由于客户端JVM的限制,我不能使用任何流行的序列化器,因为不支持反射.我正在寻找一种工具,通过将编写器和读取器方法注入已编译的类来执行字节码操作以实现序列化.我需要字节码操作java代码将它与我的构建过程代码绑定.

我一直这样做是通过生成代码并将其注入源代码,然后再编译使用我的自定义序列化程序.我想避免这种方法,因为我不想以任何方式修改源文件.

我知道Kryo和其他XML和JSON序列化程序,但它们不符合我的需求.

谢谢.

java serialization code-generation bytecode-manipulation

17
推荐指数
2
解决办法
870
查看次数

如何在Clion中自动为.h文件生成函数头?

在C中编写库时,我通常在相应的头文件中定义函数之前最终实现它们.由于头文件中的复制函数头是一个重复的任务,我想知道我是否可以在CLion中自动生成函数头(甚至更好,完整的头文件)?

c refactoring code-generation header-files clion

17
推荐指数
2
解决办法
6512
查看次数

无法生成用于构建和调试的资产。OmniSharp 服务器未运行

在 Visual Studio (VS) Code 上,使用 C# 进行编码。我正在尝试生成要构建和调试的资产,但收到以下错误消息:无法生成要构建和调试的资产。OmniSharp 服务器未运行。

我在跑:

  • .NET版本3.1.301
  • 视窗8.1
  • Visual Studio Code 1.46.1(用户设置)
  • Powershell 5.1

到目前为止,我已经尝试卸载 VS 代码和 C# 扩展,我将 设置.json 中的omnisharp.path 更新为最新版本,并更新了 powershell 版本。

我尝试生成用于构建和调试的资产的代码确实可以运行,因此我不确定还应该在哪里寻找问题的根源。

如果您需要更多详细信息,请随时询问

c# code-generation omnisharp visual-studio-code

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

如何在每次切换到另一个选项卡时停止执行T4?

当我编辑T4时,每次切换到另一个文件时都会执行脚本.对于快速简单的脚本是可以的,但是一些脚本需要很长时间才能执行.有没有办法禁用这种行为?我希望脚本只在我保存T4文件时运行或从菜单中手动选择"运行自定义工具".

c# t4 code-generation customtool visual-studio

16
推荐指数
3
解决办法
4192
查看次数

使用t4模板进行错误的缩进

我目前正在使用T4模板,我注意到有时代码没有正确缩进,我怎么能避免这种情况?

例如,我在模板中有这个代码

}
    <# } #>
    this.cmbDecisionList.Dat = dataSource;
    this.btnDec.Enabled = dataSource.Count > 0;
}
Run Code Online (Sandbox Code Playgroud)

在生成的类中它就像

}
                 this.cmbDecisionList.Dat = dataSource;
      this.btnDec.Enabled = dataSource.Count > 0;
}
Run Code Online (Sandbox Code Playgroud)

c# t4 code-generation

16
推荐指数
2
解决办法
4305
查看次数