Boo.Lang.Compiler.TypeSystem.ArrayType.IsAssignableFrom C# (CSharp) Method

IsAssignableFrom() public method

public IsAssignableFrom ( IType other ) : bool
other IType
return bool
        public virtual bool IsAssignableFrom(IType other)
        {
            if (other == this || other == Null.Default)
            {
                return true;
            }

            if (other.IsArray)
            {
                IArrayType otherArray = (IArrayType)other;

                if (otherArray.GetArrayRank() != _rank)
                {
                    return false;
                }

                IType otherEntityType = otherArray.GetElementType();
                if (_elementType.IsValueType || otherEntityType.IsValueType)
                {
                    return _elementType == otherEntityType;
                }
                return _elementType.IsAssignableFrom(otherEntityType);
            }

            return false;
        }