Composite.Data.DynamicTypes.DynamicTypeManager.GetDataTypeDescriptor C# (CSharp) Метод

GetDataTypeDescriptor() публичный статический Метод

public static GetDataTypeDescriptor ( System.Guid immutableTypeId ) : DataTypeDescriptor
immutableTypeId System.Guid
Результат DataTypeDescriptor
        public static DataTypeDescriptor GetDataTypeDescriptor(Guid immutableTypeId)
        {
            DataTypeDescriptor dataTypeDescriptor;
            TryGetDataTypeDescriptor(immutableTypeId, out dataTypeDescriptor);

            return dataTypeDescriptor;
        }

Same methods

DynamicTypeManager::GetDataTypeDescriptor ( Type typeToDescript ) : DataTypeDescriptor

Usage Example

        /// <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);
        }