Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取完整的调用方方法信息和/或类型_C#_Reflection - Fatal编程技术网

C# 获取完整的调用方方法信息和/或类型

C# 获取完整的调用方方法信息和/或类型,c#,reflection,C#,Reflection,我想知道是否有更好或更新的方法来获取调用方MethodInfo 我看到的唯一解决方案是使用,尽管人们提到它在发布版本中并不总是可靠的。而且它似乎也不适用于异步调用:( 或者,我可以使用,但这只会将方法名作为字符串提供给我。 如果不知道类类型(这是我的意图),就不可能在该方法上找到任何自定义属性 我可以用吗?注意,内联意味着堆栈帧方法实际上不可靠,除非您显式地禁用调用者和被调用者的内联-这通常是一件不好的事情。您在这里真正想做什么?可能有更好的方法。和[CallerFilePath]的用途非常有限

我想知道是否有更好或更新的方法来获取调用方MethodInfo

我看到的唯一解决方案是使用,尽管人们提到它在发布版本中并不总是可靠的。而且它似乎也不适用于异步调用:(

或者,我可以使用,但这只会将方法名作为字符串提供给我。 如果不知道类类型(这是我的意图),就不可能在该方法上找到任何自定义属性


我可以用吗?

注意,内联意味着堆栈帧方法实际上不可靠,除非您显式地禁用调用者和被调用者的内联-这通常是一件不好的事情。您在这里真正想做什么?可能有更好的方法。和
[CallerFilePath]
的用途非常有限(不过它确实有一些功能;我们使用它将调用者作为注释注入到SQL中,因此很容易看到导致SQL ops出现在性能仪表板上的原因。我有一些想法,需要我分析调用者方法上定义的属性,并对其执行特定操作。理论上,它看起来很不错,但我猜这确实不太实际:)另一种可能性是类似postsharpYes的,但我们不使用它:)这会解决很多问题