private void ProcessField(Instruction instruction, Func <BfField, MethodCollection> methods) { var reference = instruction.Operand as FieldReference; var field = _cache.GetBfField(instruction.Operand as FieldReference); if (field != null) { FieldSets.Add(field); methods.Invoke(field).Add(this); _typesUsed.Add(field.Type); if (reference != null) { _typesUsed.AddRange(_cache.GetTypeCollection(reference.FieldType)); } } }
private string GetFieldSet(XPathNavigator parentNode, EntityMapping entityMapping) { FieldSets fieldSets = entityMapping.FieldSets; if (fieldSets == null) { return(null); } string fieldSetValue = parentNode .Evaluate(fieldSets.XPath, _namespaceResolver)? .ToString(); if (fieldSetValue == null) { return(null); } return(fieldSets.FieldSet .FirstOrDefault(fs => fs.Value == fieldSetValue)? .FieldSetName); }