C# 是否向方法添加属性而不修改包含该方法的代码文件?
有没有一种方法可以在不修改类文件的情况下向方法添加属性 例如,我正在导入一个WSDL,它生成一个Reference.cs,其中包含一个带有方法的代理类 我已经编写了一个属性,它对我有一些帮助,并将其添加到方法中,如下所示,所有操作都很好: Reference.cs文件C# 是否向方法添加属性而不修改包含该方法的代码文件?,c#,attributes,service-reference,C#,Attributes,Service Reference,有没有一种方法可以在不修改类文件的情况下向方法添加属性 例如,我正在导入一个WSDL,它生成一个Reference.cs,其中包含一个带有方法的代理类 我已经编写了一个属性,它对我有一些帮助,并将其添加到方法中,如下所示,所有操作都很好: Reference.cs文件 然而,我的问题是,如果WSDL更改,我将需要更新它,这将自动丢失对Reference.cs的所有更改。我可以从另一个文件将此属性添加到方法中吗?如果您的另一个方法也是字符串,您是否可以将另一个方法连接到此文件中?换句话说,当您调用
然而,我的问题是,如果WSDL更改,我将需要更新它,这将自动丢失对Reference.cs的所有更改。我可以从另一个文件将此属性添加到方法中吗?如果您的另一个方法也是字符串,您是否可以将另一个方法连接到此文件中?换句话说,当您调用MyMethod(stringbleh)时,只需向其传递两个连接的字符串 例如: MyMethod(string1+“|”+string2) 这将传递与管道连接的2个参数,然后在您可以使用的方法中 字符串[]vals=val.Split(“|”) 这将为您提供一个传递的参数数组。通过这种方式,还可以传递2个以上的参数 然后您可以获得如下参数: sting para1=VAL[0];
sting para2=VAL[1] 如果您的另一个方法也是一个字符串,您能否将另一个方法连接到此字符串?换句话说,当您调用MyMethod(stringbleh)时,只需向其传递两个连接的字符串 例如: MyMethod(string1+“|”+string2) 这将传递与管道连接的2个参数,然后在您可以使用的方法中 字符串[]vals=val.Split(“|”) 这将为您提供一个传递的参数数组。通过这种方式,还可以传递2个以上的参数 然后您可以获得如下参数: sting para1=VAL[0];
sting para2=VAL[1] 一般来说,没有。。。有关属性,请参见。。。有人对
MetadataTypeAttribute
进行了黑客攻击,但只有一些了解它的类才可以使用。我不确定,但您的自定义(稍加修改)T4模板似乎可以帮助您。如果您喜欢痛苦的世界,您可以尝试。一般来说,没有。。。有关属性,请参见。。。有人对MetadataTypeAttribute
进行了黑客攻击,但只有一些了解它的类才可以使用它。我不确定,但似乎您的自定义(修改了一点)T4模板可以帮助您。如果您喜欢一个痛苦的世界,您可以尝试。Reference.cs是一个自动生成的文件,它是在您导入WSDL时创建的,属性相当复杂,我需要它作为一个属性。然后将其序列化,然后再将其作为字符串传递,并在另一端反序列化。这不是问题的答案questionReference.cs是一个自动生成的文件,它是在导入WSDL时创建的,该属性相当复杂,我需要将其作为属性。然后将其序列化,然后将其作为字符串传递,并在另一端反序列化。这不是问题的答案
public partial class Whatever
{
[MyCustomAttrubute()]
public void MyMethod(string bleh)
{
// do stuff
return;
}
}