自动更改c# WSDL生成的代码

本文关键字:代码 WSDL | 更新日期: 2023-09-27 18:05:30

在Visual Studio中,是否有一种方法可以自动更改源代码并在构建之前或作为构建过程的一部分向方法添加特定属性?类似于代码生成,除了我没有生成代码,它已经存在了。像T4这样的东西能处理这个问题吗?我不想手动添加这些属性,我希望它是一个自动的,可重复的过程。

例如:

public class Test
{
    public void MethodOne()
    {
    }
    public void MethodTwo()
    {
    }
}

自动变成了:

public class Test
{
    [CustomAttribute]
    public void MethodOne()
    {
    }
    [CustomAttribute]
    public void MethodTwo()
    {
    }
}
背景:

我正在使用一个名为Xamarin的第三方产品使用。net构建Android + iOS应用程序。我正在使用WSDL.exe使用SOAP web服务来自动生成代理。我在客户端添加了一个自定义web服务SOAP扩展,我发现连接该自定义扩展的唯一可靠方法是向客户端web服务代理中生成的每个web服务方法添加一个自定义属性。每次更新web服务代理时,我都必须重复这个过程,因为它每次都会生成新的代码。

关于Xamarin限制的几点注意事项。我不能上网。config或app.config文件,这是连接自定义web服务SOAP扩展的正常方式。Xamarin不支持web。Config或app.config文件。我不能使用WCF这样的新技术,因为Xamarin不完全支持它们(支持仍处于测试阶段,我遇到了一些阻止我使用它们的错误)

自动更改c# WSDL生成的代码

我使用您的测试类完成了此操作。我使用的是Visual Studio 2010,但假设它将在2012年工作。

打开查找/替换窗口。切换到"快速替换"页签。请确保在"查找选项"下选中"使用正则表达式"。

输入这个来查找内容:

public void Method

为Replace With输入:

[CustomAttribute]'n'tpublic void Method