示例#1
0
 public Authority(TypeDefinition type)
 {
     this.m_Type = type.Type("<Puresharp>", TypeAttributes.Class | TypeAttributes.NestedPrivate | TypeAttributes.Sealed | TypeAttributes.Abstract);
     foreach (var _parameter in type.GenericParameters)
     {
         this.m_Type.GenericParameters.Add(_parameter.Copy(this.m_Type));
     }
     foreach (var _method in type.Methods.ToArray())
     {
         if (Bypass.Match(_method))
         {
             continue;
         }
         Machine.Manage(_method);
     }
     this.m_Authentic    = new Authentic(this.m_Type);
     this.m_Intermediate = new Intermediate(this.m_Type, this.m_Authentic);
     foreach (var _method in type.Methods.ToArray())
     {
         if (Bypass.Match(_method))
         {
             continue;
         }
         this.Manage(type, _method);
     }
 }
示例#2
0
 static private void Manage(TypeDefinition type)
 {
     if (Bypass.Match(type))
     {
         return;
     }
     new Authority(type);
 }
示例#3
0
 public Authentic(TypeDefinition type)
 {
     this.m_Type = type.Type("<Authentic>", TypeAttributes.NestedPublic | TypeAttributes.Class | TypeAttributes.Sealed | TypeAttributes.Abstract);
     foreach (var _parameter in type.GenericParameters)
     {
         this.m_Type.GenericParameters.Add(_parameter.Copy(this.m_Type));
     }
     this.m_Dictionary = new Dictionary <MethodDefinition, MethodDefinition>();
     foreach (var _method in type.DeclaringType.Methods.ToArray())
     {
         if (Bypass.Match(_method))
         {
             continue;
         }
         this.m_Dictionary.Add(_method, this.Manage(_method));
     }
 }