private void InitDataMembers()
 {
     if (this.dataMembers == null)
     {
         lock (this.locktarget)
         {
             if (this.dataMembers == null)
             {
                 List <MetaDataMember> dMembers = new List <MetaDataMember>();
                 int          ordinal           = 0;
                 BindingFlags flags             = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy;
                 foreach (FieldInfo fi in this.type.GetFields(flags))
                 {
                     MetaDataMember mm = new UnmappedDataMember(this, fi, ordinal);
                     dMembers.Add(mm);
                     ordinal++;
                 }
                 foreach (PropertyInfo pi in this.type.GetProperties(flags))
                 {
                     MetaDataMember mm = new UnmappedDataMember(this, pi, ordinal);
                     dMembers.Add(mm);
                     ordinal++;
                 }
                 this.dataMembers = dMembers.AsReadOnly();
             }
         }
     }
 }
 private void InitDataMembers() {
     if (this.dataMembers == null) {
         lock (this.locktarget) {
             if (this.dataMembers == null) {
                 List<MetaDataMember> dMembers = new List<MetaDataMember>();
                 int ordinal = 0;
                 BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy;
                 foreach (FieldInfo fi in this.type.GetFields(flags)) {
                     MetaDataMember mm = new UnmappedDataMember(this, fi, ordinal);
                     dMembers.Add(mm);
                     ordinal++;
                 }
                 foreach (PropertyInfo pi in this.type.GetProperties(flags)) {
                     MetaDataMember mm = new UnmappedDataMember(this, pi, ordinal);
                     dMembers.Add(mm);
                     ordinal++;
                 }
                 this.dataMembers = dMembers.AsReadOnly();
             }
         }
     }
 }