浏览代码

Bug fix: Entering/leaving of IReflect method implementations was not logged in .NET assembly debug log.

Source commit: 10021472e46f9ef47f2bb8917e0df29f45eec4ef
Martin Prikryl 7 年之前
父节点
当前提交
05f11fca7e
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      dotnet/internal/Callstack.cs

+ 3 - 3
dotnet/internal/Callstack.cs

@@ -13,7 +13,7 @@ namespace WinSCP
             if (_logger.Logging)
             {
                 _token = token;
-                Type type = GetType();
+                Type type = typeof(Callstack);
                 StackTrace stackTrace = new StackTrace();
                 int i = 0;
                 MethodBase method;
@@ -21,8 +21,8 @@ namespace WinSCP
                 {
                     StackFrame frame = stackTrace.GetFrame(i);
                     method = frame.GetMethod();
-                    if ((method.IsConstructor && method.DeclaringType.IsAssignableFrom(type)) ||
-                        ((method.MemberType == MemberTypes.Method) && ((MethodInfo)method).ReturnType.IsAssignableFrom(type)))
+                    if ((method.IsConstructor && ((method.DeclaringType == type) || method.DeclaringType.IsSubclassOf(type))) ||
+                        ((method.MemberType == MemberTypes.Method) && ((MethodInfo)method).ReturnType == type))
                     {
                         method = null;
                     }