private void AddPropertyChangedNotifier(ContractCodeDomInfo contractCodeDomInfo, bool isValueType)
 {
     if ((this.EnableDataBinding && this.SupportsDeclareEvents) && ((contractCodeDomInfo != null) && (contractCodeDomInfo.TypeDeclaration != null)))
     {
         CodeTypeDeclaration typeDeclaration = contractCodeDomInfo.TypeDeclaration;
         typeDeclaration.BaseTypes.Add(this.CodeTypeIPropertyChange);
         CodeMemberEvent propertyChangedEvent = this.PropertyChangedEvent;
         typeDeclaration.Members.Add(propertyChangedEvent);
         CodeMemberMethod raisePropertyChangedEventMethod = this.RaisePropertyChangedEventMethod;
         if (!isValueType)
         {
             raisePropertyChangedEventMethod.Attributes |= MemberAttributes.Family;
         }
         typeDeclaration.Members.Add(raisePropertyChangedEventMethod);
         contractCodeDomInfo.GetMemberNames().Add(propertyChangedEvent.Name, null);
         contractCodeDomInfo.GetMemberNames().Add(raisePropertyChangedEventMethod.Name, null);
     }
 }
 private void AddExtensionData(ContractCodeDomInfo contractCodeDomInfo)
 {
     if ((contractCodeDomInfo != null) && (contractCodeDomInfo.TypeDeclaration != null))
     {
         CodeTypeDeclaration typeDeclaration = contractCodeDomInfo.TypeDeclaration;
         typeDeclaration.BaseTypes.Add(DataContract.GetClrTypeFullName(Globals.TypeOfIExtensibleDataObject));
         CodeMemberField extensionDataObjectField = this.ExtensionDataObjectField;
         if (this.GenerateSerializableTypes)
         {
             CodeAttributeDeclaration declaration2 = new CodeAttributeDeclaration(DataContract.GetClrTypeFullName(Globals.TypeOfNonSerializedAttribute));
             extensionDataObjectField.CustomAttributes.Add(declaration2);
         }
         typeDeclaration.Members.Add(extensionDataObjectField);
         contractCodeDomInfo.GetMemberNames().Add(extensionDataObjectField.Name, null);
         CodeMemberProperty extensionDataObjectProperty = this.ExtensionDataObjectProperty;
         typeDeclaration.Members.Add(extensionDataObjectProperty);
         contractCodeDomInfo.GetMemberNames().Add(extensionDataObjectProperty.Name, null);
     }
 }
 private string GetMemberName(string memberName, ContractCodeDomInfo contractCodeDomInfo)
 {
     memberName = GetClrIdentifier(memberName, "GeneratedMember");
     if (memberName == contractCodeDomInfo.TypeDeclaration.Name)
     {
         memberName = AppendToValidClrIdentifier(memberName, "Member");
     }
     if (contractCodeDomInfo.GetMemberNames().ContainsKey(memberName))
     {
         string key = null;
         int num = 1;
         while (true)
         {
             key = AppendToValidClrIdentifier(memberName, num.ToString(NumberFormatInfo.InvariantInfo));
             if (!contractCodeDomInfo.GetMemberNames().ContainsKey(key))
             {
                 memberName = key;
                 break;
             }
             num++;
         }
     }
     contractCodeDomInfo.GetMemberNames().Add(memberName, null);
     return memberName;
 }
 private void AddBaseMemberNames(ContractCodeDomInfo baseContractCodeDomInfo, ContractCodeDomInfo contractCodeDomInfo)
 {
     if (!baseContractCodeDomInfo.ReferencedTypeExists)
     {
         Dictionary<string, object> memberNames = baseContractCodeDomInfo.GetMemberNames();
         Dictionary<string, object> dictionary2 = contractCodeDomInfo.GetMemberNames();
         foreach (KeyValuePair<string, object> pair in memberNames)
         {
             dictionary2.Add(pair.Key, pair.Value);
         }
     }
 }
        string GetMemberName(string memberName, ContractCodeDomInfo contractCodeDomInfo)
        {
            memberName = GetClrIdentifier(memberName, Globals.DefaultGeneratedMember);

            if (memberName == contractCodeDomInfo.TypeDeclaration.Name)
                memberName = AppendToValidClrIdentifier(memberName, Globals.DefaultMemberSuffix);

            if (contractCodeDomInfo.GetMemberNames().ContainsKey(memberName))
            {
                string uniqueMemberName = null;
                for (int i = 1;; i++)
                {
                    uniqueMemberName = AppendToValidClrIdentifier(memberName, i.ToString(NumberFormatInfo.InvariantInfo));
                    if (!contractCodeDomInfo.GetMemberNames().ContainsKey(uniqueMemberName))
                    {
                        memberName = uniqueMemberName;
                        break;
                    }
                }
            }

            contractCodeDomInfo.GetMemberNames().Add(memberName, null);
            return memberName;
        }
 void AddPropertyChangedNotifier(ContractCodeDomInfo contractCodeDomInfo, bool isValueType)
 {
     if (EnableDataBinding && SupportsDeclareEvents && contractCodeDomInfo != null && contractCodeDomInfo.TypeDeclaration != null)
     {
         CodeTypeDeclaration codeTypeDeclaration = contractCodeDomInfo.TypeDeclaration;
         codeTypeDeclaration.BaseTypes.Add(CodeTypeIPropertyChange);
         CodeMemberEvent memberEvent = PropertyChangedEvent;
         codeTypeDeclaration.Members.Add(memberEvent);
         CodeMemberMethod raisePropertyChangedEventMethod = RaisePropertyChangedEventMethod;
         if (!isValueType)
             raisePropertyChangedEventMethod.Attributes |= MemberAttributes.Family;
         codeTypeDeclaration.Members.Add(raisePropertyChangedEventMethod);
         contractCodeDomInfo.GetMemberNames().Add(memberEvent.Name, null);
         contractCodeDomInfo.GetMemberNames().Add(raisePropertyChangedEventMethod.Name, null);
     }
 }