public static GetDataTypeDescriptor ( System.Guid immutableTypeId ) : |
||
immutableTypeId | System.Guid | |
Результат |
/// <exclude /> public static bool TryGetDescriptors(XElement fieldReferenceElement, out DataTypeDescriptor typeDescriptor, out DataFieldDescriptor fieldDescriptor) { typeDescriptor = null; fieldDescriptor = null; if (fieldReferenceElement.Name != _fieldReferenceElementName) { throw new InvalidOperationException(string.Format("Unexpected element name '{0}'. Expected '{1}'", fieldReferenceElement.Name, _fieldReferenceElementName)); } string typeManagerName = fieldReferenceElement.Attribute(_fieldReferenceTypeAttributeName).Value; string fieldName = fieldReferenceElement.Attribute(_fieldReferenceFieldAttributeName).Value; Type t = TypeManager.TryGetType(typeManagerName); if (t == null) { return(false); } typeDescriptor = DynamicTypeManager.GetDataTypeDescriptor(t.GetImmutableTypeId()); if (typeDescriptor == null) { return(false); } if (fieldName == "DataSourceId") { fieldDescriptor = new DataFieldDescriptor(Guid.Empty, "DataSourceId", StoreFieldType.LargeString, typeof(string)); return(true); } fieldDescriptor = typeDescriptor.Fields.Where(f => f.Name == fieldName).FirstOrDefault(); if (fieldDescriptor == null) { return(false); } return(true); }