public static bool DerivesFrom(this TypeDefinition typeDefinition, System.Type type) { var referenceFinder = new ReferenceFinder(typeDefinition.Module); var baseTypeDefinition = referenceFinder.GetTypeReference(type); return(typeDefinition.DerivesFrom(baseTypeDefinition)); }
public static bool DerivesFrom(this TypeDefinition typeDefinition, Type type) { if (!type.IsClass) { throw new InvalidOperationException("The <type> argument (" + type.Name + ") must be a class type."); } var referenceFinder = new ReferenceFinder(typeDefinition.Module); var baseTypeDefinition = referenceFinder.GetTypeReference(type); return typeDefinition.DerivesFrom(baseTypeDefinition); }
public static bool Implements(this TypeDefinition typeDefinition, System.Type type) { if (type.IsInterface == false) { throw new InvalidOperationException("The <type> argument (" + type.Name + ") must be an Interface type."); } var referenceFinder = new ReferenceFinder(typeDefinition.Module); var baseTypeDefinition = referenceFinder.GetTypeReference(type); return(typeDefinition.Implements(baseTypeDefinition)); }