private bool CheckForInheritanceCycle() { StructuredType baseType = this.BaseType; StructuredType structuredType1 = baseType; StructuredType structuredType2 = baseType; do { structuredType2 = structuredType2.BaseType; if (object.ReferenceEquals((object)structuredType1, (object)structuredType2)) { return(true); } if (structuredType1 == null) { return(false); } structuredType1 = structuredType1.BaseType; if (structuredType2 != null) { structuredType2 = structuredType2.BaseType; } }while (structuredType2 != null); return(false); }
public bool IsOfType(StructuredType baseType) { StructuredType structuredType = this; while (structuredType != null && structuredType != baseType) { structuredType = structuredType.BaseType; } return(structuredType == baseType); }
/// <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); }
/// <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; }
private StructuredType.HowDefined DefinesMemberName( string name, out StructuredType definingType, out SchemaElement definingMember) { if (this.NamedMembers.ContainsKey(name)) { definingType = this; definingMember = this.NamedMembers[name]; return(StructuredType.HowDefined.AsMember); } definingMember = this.NamedMembers.LookUpEquivalentKey(name); if (!this.IsTypeHierarchyRoot) { return(this.BaseType.DefinesMemberName(name, out definingType, out definingMember)); } definingType = (StructuredType)null; definingMember = (SchemaElement)null; return(StructuredType.HowDefined.NotDefined); }
/// <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)); }
/// <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); }
/// <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); }
//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); }
// <summary> // Creates a Property object // </summary> // <param name="parentElement"> The parent element </param> internal Property(StructuredType parentElement) : base(parentElement) { }
/// <summary> /// Creates a Property object /// </summary> /// <param name="parentElement"> The parent element </param> internal Property(StructuredType parentElement) : base(parentElement) { }
internal Property(StructuredType parentElement) : base((SchemaElement)parentElement, (IDbDependencyResolver)null) { }
internal StructuredProperty(StructuredType parentElement) : base(parentElement) { this._typeUsageBuilder = new TypeUsageBuilder((SchemaElement)this); }
//private static System.Text.RegularExpressions.Regex _binaryValueValidator = new System.Text.RegularExpressions.Regex("0[xX][0-9a-fA-F]+"); #endregion #region Public Methods internal StructuredProperty(StructuredType parentElement) : base(parentElement) { _typeUsageBuilder = new TypeUsageBuilder(this); }