public static SerializableType ToSerializableType(this TypeReference self)
 {
     if (self.IsGenericInstance)
     {
         var genericInstanceSelf = (GenericInstanceType)self;
         var generics            = new List <string>();
         foreach (var genericTypeReference in genericInstanceSelf.GenericArguments)
         {
             ToSerializableType(genericTypeReference, generics);
         }
         return(new SerializableType(self.AssemblyQualifiedName(), generics.ToArray()));
     }
     else
     {
         return(new SerializableType(self.AssemblyQualifiedName()));
     }
 }
示例#2
0
 public static Type LoadType(this TypeReference tRef)
 {
     try {
         var name = tRef.AssemblyQualifiedName();
         var type = Type.GetType(name);
         return(type);
     } catch (TypeLoadException) {
         return(null);
     }
 }
 private static void ToSerializableType(TypeReference current, List <string> generics)
 {
     generics.Add(current.AssemblyQualifiedName());
     if (current.IsGenericInstance)
     {
         var genericCurrent = (GenericInstanceType)current;
         foreach (var genericTypeReference in genericCurrent.GenericArguments)
         {
             ToSerializableType(genericTypeReference, generics);
         }
     }
 }
        /// <summary>
        /// Performs checking of referenced members of the specified type.
        /// </summary>
        /// <param name="type">The specified type.</param>
        /// <param name="sharedData">Used types and assemblies candidates.</param>
        /// <param name="evaluator">The project evaluator.</param>
        public void Check(TypeReference typeRef, CheckerSharedData sharedData, IProjectEvaluator evaluator)
        {
            try
            {
                foreach (MemberReference memberRef in GetMemberReferences(typeRef, evaluator))
                {
                    EvaluateMemberReference(memberRef, sharedData);

                    if (!sharedData.HasCandidateReferences)
                    {
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                throw Error.CheckType(typeRef.AssemblyQualifiedName(),
                                      string.Format(Resources.MemberReferencesCheckHelper_CheckTypeException, typeRef.AssemblyQualifiedName()), ex);
            }
        }
 // Token: 0x06000484 RID: 1156 RVA: 0x0002073C File Offset: 0x0001E93C
 internal static string GenerateFor(TypeReference type)
 {
     return(GenerateForString(type.AssemblyQualifiedName("")));
 }