c# - 在不修改包含该方法的代码文件的情况下向方法添加属性?

标签 c# attributes service-reference

有没有办法在不修改类文件的情况下向方法添加属性?

例如我正在导入一个 WSDL,它生成一个 Reference.cs,其中包含一个带有方法的代理类。

我写了一个属性,它为我做了一些工作,并将它添加到下面的方法中,一切正常:

引用.cs文件

public partial class Whatever
{
    [MyCustomAttrubute()]
    public void MyMethod(string bleh)
    {
        // do stuff
        return;
    }
}

但是,我的问题是,如果 WSDL 更改,我将需要更新它,这将自动丢失我对 Reference.cs 的所有更改。我可以将此属性添加到另一个文件的方法吗?

最佳答案

如果你的其他方法也是一个字符串,你能不能把其他方法连接到这个?换句话说,当您调用 MyMethod(string bleh) 时,只需将 2 个字符串连接到它即可。

例如: 我的方法(string1 + "|"+ string2);

这将传递 2 个与管道连接的参数,然后在您可以使用的方法中

string[] vals = val.Split('|');

这将为您提供一组传递的参数。这样你也可以传递超过 2 个参数。

那么你可以得到如下参数:

sting para1 = vals[0]; sting para2 = vals[1];

关于c# - 在不修改包含该方法的代码文件的情况下向方法添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071498/

相关文章:

c# - NetworkStream 和 TcpClient 有多少缓冲区?

javascript - 根据另一个输入设置最大值

jQuery 1.4.1 和 Firefox 16.0.1 奇怪的属性问题

c# - 在可重用类中封装多个服务引用操作

c# - 根据 C# 中获取的结果设置变量的值

c# - 如何在不影响 C# 性能的情况下读取和设置私有(private)字段?

c# - Xamarin 表单如何修复导航栏

jQuery 更新链接

.net - 如何仅使用物理 wsdl 文件生成服务引用

web-services - WCF 错误 {"The username is not provided. Specify username in ClientCredentials."}