System.Runtime.Serialization.XmlFormatWriterGenerator.XmlFormatWriterGenerator.CriticalHelper.CheckIfMemberHasConflict C# (CSharp) Method

CheckIfMemberHasConflict() private method

private CheckIfMemberHasConflict ( System.Runtime.Serialization.DataMember member, ClassDataContract classContract, ClassDataContract derivedMostClassContract ) : bool
member System.Runtime.Serialization.DataMember
classContract ClassDataContract
derivedMostClassContract ClassDataContract
return bool
            private bool CheckIfMemberHasConflict(DataMember member, ClassDataContract classContract, ClassDataContract derivedMostClassContract)
            {
                // Check for conflict with base type members
                if (CheckIfConflictingMembersHaveDifferentTypes(member))
                    return true;

                // Check for conflict with derived type members
                string name = member.Name;
                string ns = classContract.StableName.Namespace;
                ClassDataContract currentContract = derivedMostClassContract;
                while (currentContract != null && currentContract != classContract)
                {
                    if (ns == currentContract.StableName.Namespace)
                    {
                        List<DataMember> members = currentContract.Members;
                        for (int j = 0; j < members.Count; j++)
                        {
                            if (name == members[j].Name)
                                return CheckIfConflictingMembersHaveDifferentTypes(members[j]);
                        }
                    }
                    currentContract = currentContract.BaseContract;
                }

                return false;
            }