Pārlūkot izejas kodu

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

Source commit: 10021472e46f9ef47f2bb8917e0df29f45eec4ef
Martin Prikryl 7 gadi atpakaļ
vecāks
revīzija
05f11fca7e
1 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  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;
                     }