Пример #1
0
        /// <summary>
        ///     Determines whether this type is of the same type as baseType,
        ///     or is derived from baseType.
        /// </summary>
        /// <param name="baseType"> </param>
        /// <returns> true if this type is of the baseType, false otherwise </returns>
        public bool IsOfType(StructuredType baseType)
        {
            var type = this;

            while (type != null &&
                   type != baseType)
            {
                type = type.BaseType;
            }

            return(type == baseType);
        }
Пример #2
0
        /// <summary>
        /// </summary>
        internal override void Validate()
        {
            base.Validate();

            Debug.Assert(
                _fromEnd != null && _toEnd != null,
                "FromEnd and ToEnd must not be null in Validate. ResolveNames must have resolved it or added error");

            if (_fromEnd.Type != ParentElement)
            {
                AddError(
                    ErrorCode.BadNavigationProperty, EdmSchemaErrorSeverity.Error,
                    Strings.BadNavigationPropertyBadFromRoleType(
                        Name,
                        _fromEnd.Type.FQName, _fromEnd.Name, _relationship.FQName, ParentElement.FQName));
            }

            StructuredType type = _toEnd.Type;
        }
Пример #3
0
        /// <summary>
        ///     See if a name is a member in a type or any of its base types
        /// </summary>
        /// <param name="name"> name to look for </param>
        /// <param name="definingType"> if defined, the type that defines it </param>
        /// <param name="definingMember"> if defined, the member that defines it </param>
        /// <returns> how name was defined </returns>
        private HowDefined DefinesMemberName(string name, out StructuredType definingType, out SchemaElement definingMember)
        {
            if (NamedMembers.ContainsKey(name))
            {
                definingType   = this;
                definingMember = NamedMembers[name];
                return(HowDefined.AsMember);
            }

            definingMember = NamedMembers.LookUpEquivalentKey(name);
            Debug.Assert(definingMember == null, "we allow the scenario that members can have same name but different cases");

            if (IsTypeHierarchyRoot)
            {
                definingType   = null;
                definingMember = null;
                return(HowDefined.NotDefined);
            }

            return(BaseType.DefinesMemberName(name, out definingType, out definingMember));
        }
Пример #4
0
        /// <summary>
        ///     See if a name is a member in a type or any of its base types
        /// </summary>
        /// <param name="name"> name to look for </param>
        /// <param name="definingType"> if defined, the type that defines it </param>
        /// <param name="definingMember"> if defined, the member that defines it </param>
        /// <returns> how name was defined </returns>
        private HowDefined DefinesMemberName(string name, out StructuredType definingType, out SchemaElement definingMember)
        {
            if (NamedMembers.ContainsKey(name))
            {
                definingType = this;
                definingMember = NamedMembers[name];
                return HowDefined.AsMember;
            }

            definingMember = NamedMembers.LookUpEquivalentKey(name);
            Debug.Assert(definingMember == null, "we allow the scenario that members can have same name but different cases");

            if (IsTypeHierarchyRoot)
            {
                definingType = null;
                definingMember = null;
                return HowDefined.NotDefined;
            }

            return BaseType.DefinesMemberName(name, out definingType, out definingMember);
        }
Пример #5
0
        /// <summary>
        ///     Determines whether this type is of the same type as baseType, 
        ///     or is derived from baseType.
        /// </summary>
        /// <param name="baseType"> </param>
        /// <returns> true if this type is of the baseType, false otherwise </returns>
        public bool IsOfType(StructuredType baseType)
        {
            var type = this;

            while (type != null
                   && type != baseType)
            {
                type = type.BaseType;
            }

            return (type == baseType);
        }
Пример #6
0
        //private static System.Text.RegularExpressions.Regex _binaryValueValidator = new System.Text.RegularExpressions.Regex("0[xX][0-9a-fA-F]+");

        #endregion

        #region Public Methods

        /// <summary>
        /// </summary>
        /// <param name="parentElement"> </param>
        internal StructuredProperty(StructuredType parentElement)
            : base(parentElement)
        {
            _typeUsageBuilder = new TypeUsageBuilder(this);
        }
Пример #7
0
 /// <summary>
 ///     Creates a Property object
 /// </summary>
 /// <param name="parentElement"> The parent element </param>
 internal Property(StructuredType parentElement)
     : base(parentElement)
 {
 }
        //private static System.Text.RegularExpressions.Regex _binaryValueValidator = new System.Text.RegularExpressions.Regex("0[xX][0-9a-fA-F]+");

        #endregion

        #region Public Methods

        /// <summary>
        /// 
        /// </summary>
        /// <param name="parentElement"></param>
        internal StructuredProperty(StructuredType parentElement)
            : base(parentElement)
        {
            _typeUsageBuilder = new TypeUsageBuilder(this);
        }
Пример #9
0
 /// <summary>
 /// Creates a Property object
 /// </summary>
 /// <param name="parentElement">The parent element</param>
 internal Property(StructuredType parentElement)
     : base(parentElement)
 {
 }