标签: code-generation

学习CIL(MSIL)的最佳资源是什么

我是一名专家C#3/.NET 3.5程序员,希望使用System.Reflection.Emit.DynamicMethod开始运行一些运行时代码.我很想通过熟悉IL来提升到一个新的水平.

任何指针(双关语)?

.net c# cil code-generation

19
推荐指数
4
解决办法
1333
查看次数

如何从WADL文件生成C#代码?

我正在寻找一个代码生成器,而不是生成C#代码来访问WADL文件描述的RESTful Web服务,其方式与wadl2java的工作方式类似.

做som搜索我遇到了关于Google Code 的rest-api-code-gen项目,但是虽然最新的源代码实际上支持C#,但REST Describe&Compile演示站点却没有.(C#按钮在那里,但它已被禁用.)

我意识到我可以下载源代码并使用最新版本设置我自己的服务器,但我不愿意,因为我需要的是命令行工具,而不是依赖于Google Web Toolkit的Web应用程序.我想我可以根据相同的源代码编写自己的命令行工具,但如果已经完成,或者其他工具可以完成这项工作,我宁愿避免使用它.

所以,我想知道,有那样的工具吗?

c# code-generation web-services wadl

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

当"更喜欢组合而不是继承"时生成传递代码

问题

假设我试图将手机模型化为普通手机和PDA的组合.这是一种多重继承方案(手机手机,它 PDA).由于C#不支持多重继承,因此这几乎需要某种组合.另外,让我们说我还有其他理由支持作曲.

我一直想知道:是否有任何工具可以自动生成所有不可避免的传递代码?

让我用一些实际的代码充实我的例子:

接口:

public interface IPhone
{
    public void MakeCall(int phoneNumber);
    public void AnswerCall();
    public void HangUp();
}

public interface IPda
{
    public void SendEmail(string[] recipientList, string subject, string message);
    public int LookUpContactPhoneNumber(string contactName);
    public void SyncWithComputer();
}
Run Code Online (Sandbox Code Playgroud)

实现:

public class Phone : IPhone
{
    public void MakeCall(int phoneNumber) { // implementation }
    public void AnswerCall() { // implementation }
    public void HangUp() { // implementation }
}

public class Pda : IPda
{ …
Run Code Online (Sandbox Code Playgroud)

c# code-generation design-patterns visual-studio

19
推荐指数
1
解决办法
3086
查看次数

如何让enum包含短划线( - )?

我正在使用Enterprise Architect 从此模式生成业务对象.

该架构具有以下枚举规范:

<xs:simpleType name="PackageMedium">
    <xs:restriction base="xs:string">
        <xs:enumeration value="NTP"/>
        <xs:enumeration value="DAT"/>
        <xs:enumeration value="Exabyte"/>
        <xs:enumeration value="CD-ROM"/>
        <xs:enumeration value="DLT"/>
        <xs:enumeration value="D1"/>
        <xs:enumeration value="DVD"/>
        <xs:enumeration value="BD"/>
        <xs:enumeration value="LTO"/>
        <xs:enumeration value="LTO2"/>
        <xs:enumeration value="LTO4"/>
    </xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)

企业架构师生成以下代码,但Visual Studio不喜欢CD-ROM中的破折号( - ),也不会编译.

public enum PackageMedium : int {
    NTP,
    DAT,
    Exabyte,
    CD-ROM,
    DLT,
    D1,
    DVD,
    BD,
    LTO,
    LTO2,
    LTO4
}
Run Code Online (Sandbox Code Playgroud)

我能做些什么来完成这项工作?


基于@Craig Stuntz回答我能找到这篇文章,帮助我从Enum中检索这些特殊字符.

.net c# code-generation

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

生成并发布基于Ruby的REST API文档

现在使用什么酷孩子来轻松解析/生成/发布REST API?我看了一下Swagger它看起来不错,但从我的观点来看,它不适合Ruby.也许我错了,我错过了什么,帮助将不胜感激.

ruby api rest code-generation ruby-on-rails

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

Visual Studio 2015不会自动为多行注释添加星号

在输入多行注释时,当我按下回车键时,Visual Studio用于为注释的每个新行添加一个自动星号(显然2015年不再这样做了).我真的很喜欢这个.截至目前,如果我输入"/*"并输入,Visual Studio根本不会尝试自动完成它.事实上,它甚至让我也结束了评论"*/",而不是为我做这件事.所以我的问题是:是否还有其他人遇到这种情况?如何恢复原始功能,因此每个新行自动以星号为前缀,并为我关闭"*/"

我已经检查过,是的,我的环境设置被设置为C#,是的,确实在我的设置中选中了"为///生成XML文档注释"选项.

c# code-generation visual-studio-2015

19
推荐指数
2
解决办法
1907
查看次数

说真的,我应该写错PHP代码吗?

我最近正在做一些PHP工作,在我看过的所有代码中,人们倾向于使用很少的方法.(他们也倾向于使用很少的变量,但这是另一个问题.)我想知道为什么会这样,我发现这个音符"一个带有一个参数的函数调用和一个空函数体大约需要7-8美元一样的时间localVar的++操作.类似的方法调用当然是约$ 15 localVar的操作++" 在这里.

这是真的吗,即使PHP页面已被编译和缓存?我应该尽可能避免使用方法来提高效率吗?我喜欢用重复代码块的方法编写组织良好,人类可读的代码.如果有必要在没有方法的情况下编写平面代码,是否有任何程序可以"内联"方法体?这样我就可以编写漂亮的代码,然后在部署之前将其弄糟.

顺便说一句,我一直在看的代码来自Joomla 1.5核心和几个WordPress插件,所以我认为他们是知道他们在做什么的人.

注意:我很高兴每个人都跳过这个问题来谈论一般的优化,但事实上我们正在谈论解释语言的优化.至少有一些暗示我们谈论PHP的事实会很好.

php optimization translation code-generation

18
推荐指数
6
解决办法
4996
查看次数

如何扩展JAXB,CXF或Hibernate工具生成的Java代码?

用生成的Java源代码,比如

  • 使用Hibernate工具生成的代码
  • 使用JAXB模式绑定生成的代码(xjc)
  • 用WDSL2Java生成的代码(cxf)

所有生成的类都是"值对象"类型,没有业务逻辑.如果我向生成的源代码添加方法,如果我重复生成源代码,我将松开这些方法.

这些Java代码生成工具是否提供了"扩展"生成代码的方法?

例如,

  • 覆盖ToString方法(用于记录)
  • 实现访问者模式(用于数据分析/验证)

java code-generation hibernate cxf jaxb

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

C#中XML Schema的代码生成有哪些限制?

我已经看到了几个关于使用XML Schema生成类的问题的问题xsd.exe,以及如何预先处理模式(通常使用XSLT)来解决生成之前的一些棘手方面的建议.我的问题是,是否可以构建一个100%符合XML Schema的C#代码生成器.问题xsd.exe仅仅是它的实现问题,还是它们指向XML Schema和C#之间的根本不一致?

特别是,我对如何将XML Schema中的概念映射到C#感兴趣 - 什么是可接受的映射,哪些映射是有争议的,是否存在本质上不可映射的XML Schema构造,是否存在未充分利用的C#构造?是否存在可提供映射规则的合规性规范,以便可以实施和测试?

编辑:为了清楚起见,我完全清楚XML Schema不会为我提供完全实现的C#接口,我对它是否可以完全映射到C#类层次结构感兴趣.

编辑2:我添加了一笔小额奖金,因为我有兴趣获得更多细节.

编辑3:赏金仍然开放,但到目前为止走向stakx - 一个很好的答案,但主要是处理如何在XML Schema中复制C#结构,而不是相反.虽然输入很好.

c# xml xsd code-generation

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

如何使Xcode自动符合协议

当我使用原型表视图时,我总是必须遵守协议TableViewDataSource.我总是忘记我需要实现哪些方法,所以我每次都要查看协议的来源.这非常耗时.

我认为Xcode必须具有自动为您实现所需方法的功能,对吧?就像IntelliJ IDEA,Eclipse和Visual Studio一样.

我想知道在哪里可以找到此功能.如果没有,是否有解决方法?至少我不必在每次符合协议时打开协议的源代码.

如果你不明白我的意思,这里有一些代码:

我有一个协议

protocol Hello {
    func doStuff ()
}
Run Code Online (Sandbox Code Playgroud)

当我遵守它时,

class MyClass: Hello {

}
Run Code Online (Sandbox Code Playgroud)

我经常不记得我需要实现的方法的名称.如果Xcode有一个功能可以将上面的代码转换为:

class MyClass: Hello {
    func doStuff () {
        code
    }
}
Run Code Online (Sandbox Code Playgroud)

现在你明白我的意思了吗?我只想问哪里可以找到这样的功能.

xcode code-generation interface ios swift

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