Catel.Fody.InstructionExtensions.UsesType C# (CSharp) Method

UsesType() public static method

public static UsesType ( this instruction, Mono.Cecil.TypeDefinition typeDefinition ) : bool
instruction this
typeDefinition Mono.Cecil.TypeDefinition
return bool
        public static bool UsesType(this Instruction instruction, TypeDefinition typeDefinition, params OpCode[] opCodes)
        {
            if (instruction.IsOpCode(opCodes))
            {
                var fieldDefinition = instruction.Operand as FieldDefinition;
                if (fieldDefinition != null)
                {
                    if (string.Equals(fieldDefinition.DeclaringType.Name, typeDefinition.Name))
                    {
                        return true;
                    }
                }

                var fieldReference = instruction.Operand as FieldReference;
                if (fieldReference != null)
                {
                    if (string.Equals(fieldReference.DeclaringType.Name, typeDefinition.Name))
                    {
                        return true;
                    }
                }

                var methodDefinition = instruction.Operand as MethodDefinition;
                if (methodDefinition != null)
                {
                    if (string.Equals(methodDefinition.DeclaringType.Name, typeDefinition.Name))
                    {
                        return true;
                    }
                }

                var methodReference = instruction.Operand as MethodReference;
                if (methodReference != null)
                {
                    if (string.Equals(methodReference.DeclaringType.Name, typeDefinition.Name))
                    {
                        return true;
                    }
                }
            }

            return false;
        }