예제 #1
0
 private void FillAssemblyMethods(XAPAssembly xapAssembly)
 {
     foreach (var method in xapAssembly.GetMethods())
     {
         var hook = new MethodHook(method)
         {
             LogMethodName      = true,
             LogParameterValues = true,
             LogReturnValues    = true
         };
         m_hooks.Add(hook);
     }
 }
예제 #2
0
        private void ProcessAssemblyNodeToTree(Node assemblyNode, XAPAssembly assembly)
        {
            foreach (TypeDefinition typeDefinition in assembly.AssemblyDefinition.MainModule.Types)
            {
                if (typeDefinition.Name.StartsWith("<Module>") ||
                    typeDefinition.Name.StartsWith("<PrivateImplementationDetails>") ||
                    typeDefinition.Name.StartsWith("__StaticArrayInitTypeSize"))
                {
                    continue;
                }

                var typeNode = new TypeNode(typeDefinition.Name);
                if (typeDefinition.BaseType.FullName.Equals("System.Windows.Navigation.UriMapperBase"))
                {
                    typeNode.URIAndFileHandlerIcon = Resources.link;
                }
                assemblyNode.Nodes.Add(typeNode);
                ProcessTypeNodeToTree(typeNode, typeDefinition);
            }
        }