C# 如何通过服务引用发布Reflection.MethodBase

C# 如何通过服务引用发布Reflection.MethodBase,c#,asp.net,web-services,reflection,C#,Asp.net,Web Services,Reflection,我正在使用带有Lucene引擎的后端(.Net C#)创建一个日志系统,并记录每个方法请求 为此,我在后端创建了一个服务引用,其中一个WebService方法参数是Reflection.MethodBase 在前端,我添加了引用(该.Net创建了一个Soap客户端连接器)。 但是,该方法不需要Reflection.MethodBase,它需要另一个MethodBase类(TestLogger.RefLogger.MethodBase) 我认为.Net为每个非原语的方法参数创建了一个克隆类 问题是

我正在使用带有Lucene引擎的后端(.Net C#)创建一个日志系统,并记录每个方法请求

为此,我在后端创建了一个服务引用,其中一个WebService方法参数是Reflection.MethodBase

在前端,我添加了引用(该.Net创建了一个Soap客户端连接器)。 但是,该方法不需要Reflection.MethodBase,它需要另一个MethodBase类(TestLogger.RefLogger.MethodBase)

我认为.Net为每个非原语的方法参数创建了一个克隆类

问题是,我无法将Reflection.MethodBase转换为MyLooger.MethodBase,例如:

public static void addLog(MethodBase methodBase, object[] parameters, TestLogger.RefLogger.TipoLog tipoLog)
{
    TestLogger.RefLogger.WSLoggerSoapClient client = new TestLogger.RefLogger.WSLoggerSoapClient();
    client.AddLogNormal(MethodBase.GetCurrentMethod(), parameters, tipoLog);
}
在这里,它向我表明,即使我尝试强制转换,它也无法转换类型:

(TestLogger.RefLogger.MethodBase)MethodBase.GetCurrentMethod()
因此,我尝试创建一个方法来“转换”对象,创建一个新的MyLogger.MethodBase并复制值,但它没有构造函数

TestLogger.RefLogger.MethodBase mDest = new TestLogger.RefLogger.MethodBase();//CANNOT DO THIS
有什么想法吗?
提前感谢。

如果您只需要记录此方法的信息,您可以使用MethodBase.GetParameters在前端检索此信息:

String methodName
String[] parametersNames 
String[] parametersValues
要创建methodName,可以使用methodBase.DeclaringType.Namespace+“+methodBase.DeclaringType.Name+”+methodBase.Name

要创建参数名称,请使用MethodBase.GetParameters:

然后可以将此参数传递到后端


web服务将识别这种类型。

这是我找到的唯一解决方案。给你加油。